收藏 分享(赏)

用vim替代source insight.doc

上传人:HR专家 文档编号:7000498 上传时间:2019-04-30 格式:DOC 页数:3 大小:35.50KB
下载 相关 举报
用vim替代source insight.doc_第1页
第1页 / 共3页
用vim替代source insight.doc_第2页
第2页 / 共3页
用vim替代source insight.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、 用 VIM 替代 SOURCE INSIGHT 在浏览和修改稍微复杂的程序时候,确实 source insight 是个非常好的工具。转到 Linux 以后,我一直在找替代工具。最先是等 anjuta,结果苦苦等到了一个鸡肋的 2.02。然后,认真配置了下 wine,用 wine把 si 跑了起来,只是 si 的开发有些非常规,就算在 win 下面,中文注视等都是类似半角汉字的那样,而且,在实际使用中,快速查找参考的功能,有 bug,曾经搞得我冒汗。试想下,你在一堆源码里面通篇修改了一个变量的处理方式,等一个星期以后,发现 si 原来的搜索不全,有 2 个需要修改的地方漏了,不冒汗才怪。(a

2、njuta 也有类似的问题)。 我当初使用 vi,纯粹是为了能在任何时候(比如 tty 下面)都有个熟悉的编辑器而已。偶尔一次看到了别人的 vim 的截图,发现支持一些函数列表,就赶紧搜索了一下,首先找到了一个中文的 vim 在线帮助(我已经贴论坛了http:/ fvwm的英文帮助,是何等的艰难。这下终于开始了逐篇的阅读。才慢慢熟练了:h 查找帮助的方法。通过 2 天的奋斗,几乎读完了在线帮助,搜索了几个小时的 vim.org 的插件。才发现 vim 竟然完全可以达到 si 的常用的那些非常有特色的功能。虽然界面还是有些简陋。 下面列举一下我认为需要实现的 si 的功能: 1。函数和变量的定义

3、的即时浏览。这个是非常有用的功能。成千的变量,对于 C/C+来说,一个类型错误都可能导致极难发现的问题,运行时出现无法预料的结果。vim 里面使用 taglist 实现的。并且多个文件的列表都在一起,还可以按照类型折叠,?员阌阡 馈? 2。变量调用的通篇搜索。涉及到一个全局变量的时候,可能 10 来个文件包括。排错的时候,需要一个一个的地方去认真确认的。在 vim.org 搜索的结果是,中文都支持不好,因为多数使用外部的 grep。后来憋了很久,仔细研究了别人的插件,自己写个简单的,调用 vimgrep,这样中文就显示完美了。 3。函数和类/结构成员的补全。我的结构经常是 2 到 3 层的套用

4、,加上经常用到相对地址的宏定义,经常是一个变量一长串的。自己输入真的苦难,有点想碰死的感觉。vim 本身就带了全能补全,就是 C-x C-o,我把这个绑定到 F8 就是了。vim.org 里面的一些补全的插件,我都试过,发现就本身的这个好。 4。方便的快速查找。一个变量不要输入,光标定位后,按键就可以上下搜索。vim 里面直接就是#*索引当前词,我还加了 mark 插件和设置了 incsearch 参数和 hlsearch 参数。就更加直观了。 5。文件内部的函数和变量列表。长长的文件,几十个函数的时候,没有一个列表,会头晕的。这里使用taglist 插件实现就是。 6。函数和变量的上下层调用

5、的结构关系图。这个在 vim 的字符方式下,还是比较不直观的。不好实现。 7。函数和不同变量的颜色定义,包括字体,阴影效果以及定义的继承性能。这个是 GUI 的强项。vim 还作不到这么好。 接着就说说 vim 的配置。 其实 vim 的配置很简单,而且规范。插件,比如*.vim 文件放到/.vim/plugins 下面;文档放到/.vim/doc 里面;颜色配置放到/.vim/syntax 里面。主配置文件就是/.vimrc。下面先列出 vimrc 文件。比较简单。 代码:$ cat /.vimrc “ 开启语法高亮 syntax on “ 设置文字编码自动识别 set fencs=utf-

6、8,cp936 “ 使用鼠标 set mouse=a “ 设置高亮搜索 set hlsearch “ 输入字符串就显示匹配点 set incsearch “ 输入的命令显示出来,看的清楚些。 set showcmd “ Tlist 的内部变量。函数列表。 let Tlist_Use_Right_Window=1 let Tlist_File_Fold_Auto_Close=1 “ 打开当前目录文件列表 map :Explore “ 函数和变量列表 map :TlistToggle “ 搜索当前词,并打开 quickfix 窗口 map :call Search_Word() “ 全能补全 in

7、oremap “ 没事,鼠标画线玩的。 “ noremap :call ToggleSketch() “ 启动函数变量快速浏览的时间设置 set updatetime=100 列出现在使用的插件。其中 AutoExplorer 和 Search_Word,一个是在线帮助里面的,一个是我自己写的。其他的都是 vim.org 下的。下载的插件如果是压缩包,把里面的*.vim 文件放出来就是,下次启动 vim,这些功能就自动被读入并执行了。本身*.vim 文件里面就都有用法帮助的。 代码:$ l /.vim/plugin/ AutoExplorer.vim EnhancedCommentify.vi

8、m 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(“) “ 在当前光标位置抓词 exe “vimgrep “ w “ *.c *.h“ exe copen endfun插件说明: 引用:插件名称 说明 主要按键 EnhancedComme

9、ntify 当前行或者多行可视模式下的注释/反注释 x SuperTab 在插入状态使用 TAB 键补全,现在被自己定义的 F8 代替了 taglist 函数和变量定义的窗口,并可以双击跳转 :TlistToggle 绑定到 F4 tabbar 用标签窗口形式,显示打开的文件 Alt-1,2 切换 AutoExplorer help 里面剔出的快速浏览函数和变量的定义 bufexplorer 浏览打开的缓冲文件 be bv bs mark 不同颜色标记当前词,支持多次高亮标记 m sketch 可切换到鼠标画线,好玩的功能而已 F9 绑定 Search_Word 自己写的简单的函数,搜索当前词,在 quickfix 窗口显示 F5 绑定

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报