1、 · 用VIM替代SOURCE INSIGHT 在浏览和修改稍微复杂的程序时候,确实source insight是个非常好的工具。转到Linux以后,我一直在找替代工具。最先是等anjuta,结果苦苦等到了一个鸡肋的2.02。然后,认真配置了下wine,用wine把si跑了起来,只是si的开发有些非常规,就算在win下面,中文注视等都是类似半角汉字的那样,而且,在实际使用中,快速查找参考的功能,有bug,曾经搞得我冒汗。试想下,你在一堆源码里面通篇修改了一个变量的处理方式,等一个星期以后,发现si原来的搜索不全,有2个需要修改的地方漏了,不冒汗才怪。(anjuta也有类似的问题)
2、 我当初使用vi,纯粹是为了能在任何时候(比如tty下面)都有个熟悉的编辑器而已。偶尔一次看到了别人的vim的截图,发现支持一些函数列表,就赶紧搜索了一下,首先找到了一个中文的vim在线帮助(我已经贴论坛了 下面列举一下我认为需要实现的si的功能: 1。函数和变量的定义的即时浏览。这个是非常有用的功能。成千的变量,对于C/C++来说,一个类型错误都可能导致极难发现的问题,运行时出现无法预料的结果。vim里面使用taglist实现的。并且多个文件的列表都在一起,还可以按照类型折叠,?员阌阡馈? 2。变量调用的通篇搜索。涉及到一个全局变量的时候,可能10来个文件包括
3、排错的时候,需要一个一个的地方去认真确认的。在vim.org搜索的结果是,中文都支持不好,因为多数使用外部的grep。后来憋了很久,仔细研究了别人的插件,自己写个简单的,调用vimgrep,这样中文就显示完美了。 3。函数和类/结构成员的补全。我的结构经常是2到3层的套用,加上经常用到相对地址的宏定义,经常是一个变量一长串的。自己输入真的苦难,有点想碰死的感觉。vim本身就带了全能补全,就是C-x C-o,我把这个绑定到F8就是了。vim.org里面的一些补全的插件,我都试过,发现就本身的这个好。 4。方便的快速查找。一个变量不要输入,光标定位后,按键就可以上下搜索。vim里
4、面直接就是#*索引当前词,我还加了mark插件和设置了incsearch参数和hlsearch参数。就更加直观了。 5。文件内部的函数和变量列表。长长的文件,几十个函数的时候,没有一个列表,会头晕的。这里使用taglist插件实现就是。 6。函数和变量的上下层调用的结构关系图。这个在vim的字符方式下,还是比较不直观的。不好实现。 7。函数和不同变量的颜色定义,包括字体,阴影效果以及定义的继承性能。这个是GUI的强项。vim还作不到这么好。 接着就说说vim的配置。 其实vim的配置很简单,而且规范。插件,比如*.vim文件放到~/.vim/pl
5、ugins下面;文档放到~/.vim/doc里面;颜色配置放到~/.vim/syntax里面。主配置文件就是~/.vimrc。下面先列出vimrc文件。比较简单。 ------------------------------ 代码: $● cat ~/.vimrc " 开启语法高亮 syntax on " 设置文字编码自动识别 set fencs=utf-8,cp936 " 使用鼠标 set mouse=a " 设置高亮搜索 set hlsearch " 输入字符串就显示匹配点 set incsearch " 输入的命令显示出来,看的清楚
6、些。
set showcmd
" Tlist的内部变量。函数列表。
let Tlist_Use_Right_Window=1
let Tlist_File_Fold_Auto_Close=1
" 打开当前目录文件列表
map
7、emap
8、plorer.vim EnhancedCommentify.vim Search_Word.vim tabbar.vim
bufexplorer.vim mark.vim sketch.vim taglist.vim
我自己写的那个简单得很。
代码:
$● cat ~/.vim/plugin/Search_Word.vim
" au! QuickFixCmdPre *.[ch] call Search_Word()
func Search_Word()
let w = expand("
9、 " 在当前光标位置抓词
exe "vimgrep " w " *.c *.h"
exe 'copen'
endfun
插件说明:
引用:
插件名称 说明 主要按键
-------------------------------------------------
EnhancedCommentify 当前行或者多行可视模式下的注释/反注释 \x
SuperTab 在插入状态使用TAB键补全,现在被自己定义的F8代替了
10、tabbar 用标签窗口形式,显示打开的文件 Alt-1,2切换 AutoExplorer help里面剔出的快速浏览函数和变量的定义 bufexplorer 浏览打开的缓冲文件 \be \bv \bs mark 不同颜色标记当前词,支持多次高亮标记 \m sketch 可切换到鼠标画线,好玩的功能而已 F9绑定 Search_Word 自己写的简单的函数,搜索当前词,在quickfix窗口显示 F5绑定 (注:专业文档是经验性极强的领域,无法思考和涵盖全面,素材和资料部分来自网络,供参考。可复制、编制,期待你的好评与关注)






