vim常用插件及技巧
嵌入式软件搬砖工一枚,工作中主要使用C语言,因此本文介绍的插件以及技巧主要针对C语言的环境。
一、插件篇
1.
2.
3.
4.
二、技巧篇
1. 显示当前光标处于哪一个函数
如果一个函数过长,通过 ↑ ↓ 按键确认当前处于哪一个函数很麻烦,在vimrc中添加下面的函数,按 f 按键就可以显示了,非常的方便。
fun! ShowFuncName() let lnum = line(".") let col = col(".") echohl ModeMsg echo getline(search("^[^ \t#/]\\{2}.*[^:]\s*$", 'bW')) echohl None call search("\\%" . lnum . "l" . "\\%" . col . "c") endfun map f :call ShowFuncName() <CR>
比如这里,按下 f 就显示了当前在sdhci_do_set_ios函数中
2. 保留退出文件时光标所在的位置
有时我们打开一个文件,光标定位到某行之后,因为一些原因需要退出该文件然后再重新进入,默认情况下光标处于文件的开头,我们不得不重新把光标定位到上次的位置......
在vimrc中添加下面的函数就会自动保存退出之前的位置,下次打开时还是相同的位置。
au BufReadPost * if line("'\"") > 0|if line("'\"") <= line("$")|exe("norm '\"")|else|exe "norm $"|endif|endif
3. 自动搜索ctags文件
在看linux kernel源码时,一般需要配合tags文件跳转,但是在默认情况下,你必须从tags文件所在的那一个目录为起始路径去打开文件,才能正确跳转,否则就无法正确跳转。
在vimrc中添加下面两个配置就可以实现在任意路径下跳转。
" 自动寻找tags文件 set autochdir
" tags文件所在的路径 set tags+=/home_d/wjshi/work/isvp/opensource/kernel-4.4.94/tags
4.