一、大饱眼福看了效果图,肯定有人说, 这都有啥功能?就花哨? 告诉你,你说花哨就错了,开玩笑?我们程序猿可都是实打实的人,说谎都不会,咋会忽悠人呢。 下面我来告诉你,这都有些什么功能:
下面我们来说怎么整合这些功能,有的是vim自带的,有的是需要插件的。 二.准备工作1.准备文件/路径确认文件/路径是否存在,文中说的一些路径, 比如: ~/.vim/plugin ~/.vim/doc ~/.vim/syntax 如果没有,请新建。 2.预定义文中说到的.vimrc文件都是指 ~/.vimrc 三.正式起航1.vim编程常用命令% 跳转到配对的括号去 [[ 跳转到代码块的开头去(但要求代码块中'{'必须单独占一行) gD 跳转到局部变量的定义处 '' 跳转到光标上次停靠的地方, 是两个', 而不是一个" mx 设置书签,x只能是a-z的26个字母 `x 跳转到书签处("`"是1左边的键) > 增加缩进,"x>"表示增加以下x行的缩进 < 减少缩进,"x<"表示减少以下x行的缩进 2.语法高亮写程序没有语法高亮将是一件多么痛苦的事情啊,一片黑,就像一直都在跑尸一样,幸亏vim 提供了语法高亮功能, 在上面的图片中大家也可以看到那些注释, 关键字, 字符串等, 都用不同颜色显示出来了, 要做到这样, 首先要在你的 ~/.vimrc 文件中增加下面几句话: syntax enable syntax on 再重新启动vim, 并打开一个c程序文件, 是不是觉得眼前突然色彩缤纷了起来... colorscheme desert desert表示的就是一种配色方案, 在 上跟你一样的人很多, 他们做了各种各样的颜色主题, 你可以下载下来一个一个的试, 多地可以看到你眼花. 如果这样你还不满意(你还真是XXXX), 没关系, vim的作者早想到会有你这种人了, 你可以创建你自己的颜色主题, 把下面的这篇文档好好学习一些一下吧: :help syntax.txt 更炫的语法高亮: 按 Ctrl+C 复制代码 按 Ctrl+C 复制代码 再打开你的C文件看看, 是不是又明亮了许多. 还有一个压箱底的要告诉你, 如果你自己增加了一个类型或者结构之类的, 怎么让它也象"int", "void"这样高亮起来呢? 再在上面的文件~/.vim/syntax/c.vim中添加下面的东东: 这样你自己的类型My_Type_1, My_Type_2, My_Type_3就也可以向"int"一样高亮起来了, 这样的缺点是每增加一个类型, 就要手动在这里添加一下 "======================================================== " My Own DataType "======================================================== syn keyword cType My_Type_1 My_Type_2 My_Type_3 3.CtagsCtags让你在程序中跳来跳去,简直就是宝贝一样的东西,Linux内核源码都提供了"make tags"这个选项,下面让我们来了解tags这个文件。 tags文件是由ctags程序产生的一个索引文件, ctags程序其是叫"Exuberant Ctags", 是Unix上面ctags程序的替代品, 并且比它功能强大, 是大多数Linux发行版上默认的ctags程序. 那么tags文件是做什么用的呢? 如果你在读程序时看了一个函数调用, 或者一个变量, 或者一个宏等等, 你想知道它们的定义在哪儿, 怎么办呢? 用grep? 那会搜出很多不相干的地方. 现在流行用是的<C-]>, 谁用谁知道呀, 当光标在某个函数或变量上时, 按下"Ctrl+]", 光标会自动跳转到其定义处, 够厉害吧, 你不用再羡慕Visual Studio的程序员了,爽翻天~ 你现在先别急着去按<C-]>,因为电脑默认是没ctags程序的,需要你自己去安装,ctags的网站是http://ctags.,需要在上面手动下载,然后安装,我下的是5.8版本,那就以5.8为例: 然后去你的源码目录, 如果你的源码是多层的目录, 就去最上层的目录, 在该目录下运行命令: ctags -R,如: $cd /home/styuan/ctags-5.8
$ctags -R
此时在/home/styuan/ctags-5.8目录下会生成一个 tags 文件, 现在用vim打开/home/styuan/ctags-5.8/main.c $ vim /home/styuan/ctags-5.8/main.c
再在vim中运行命令: :set tags=/home/styuan/ctags-5.8/tags
该命令将tags文件加入到vim中来, 你也可以将这句话放到~/.vimrc中去, 如果你经常在这个工程编程的话. 此时按下<C-]>, 光标会自动跳到createTagsForEntry()函数的定义处, 见下图: 如果此时你还想再跳回刚才的位置, 你还可以按<C-T>, 这样又跳回到createTagsForEntry()函数被调用的地方了, 变量, 结构, 宏, 等等, 都可以的, 赶快试试吧..... 不过还有一个小瑕疵, 你修改程序后, 比如增加了函数定义, 删除了变量定义, tags文件不能自动rebuild, 你必须手动再运行一下命令: $ ctags -R
4.TagList,高效阅读代码下载地址http:///projects/vim-taglist/files/vim-taglist/ 解压taglist_45.zip,可以看到有两个目录doc和plugin,结构如下
执行下列shell命令,即安装完成 cp doc/taglist.txt ~/.vim/doc/ cp plugin/taglist.vim ~/.vim/plugin/ 使用方法: 在源码目录下,执行ctags -R对各目录递归创建生成tags文件 用Vim打开源码文件,以命令模式执行Tlist,即可启用Taglist插件,<F1>可以查看taglist的帮助信息 同时在.vimrc中配置taglist 按 Ctrl+C 复制代码 按 Ctrl+C 复制代码 5.WinManager 文件浏览器和窗口管理器下载地址:http://www./scripts/script.php?script_id=95 解压后得到两个文件夹plugin和doc,将他们拷贝到~/.vim下面的相应目录,如taglist的安装 修改.vimrc文件 "winmanager设置 "整合taglist窗口 let g:winManagerWindowLayout = 'FileExplorer|TagList' "设置快捷键,wm呼出 nmap wm :WMToggle<cr> 在vim中使用wm键即可呼出窗口,上面的例子中已经在使用了,其中左上角为winmanager窗口,左下角为taglist窗口。 6.QuickFix 窗口在第一张图中有quickfix窗口,在make的时候,可能会出现错误,并且让错误定位到相应文件,这就需要quickfix出场了,例如故意在xxx.c中每一行加一个逗号,然后 :make 显然编译会报很多错误, 当编译结束并退出到源码界面时, 刚才编译器报的错误都已经看不到了, 但是我们可以用QuickFix窗口再将错误信息找出来, 用下面的命令调出QuickFix窗口: :cw 当光标移动到相应的位置,按回车,还会跳到错误文件对应的地方哦,是不是很爽~同时还可以跳转: :cn // 切换到下一个结果 :cp // 切换到上一个结果 7.c/h文件间相互切换作为一个C程序员, 日常Coding时在源文件与头文件间进行切换是再平常不过的事了, 直接用vim打开其源/头文件其实也不是什么麻烦事, 但是只用一个按键就切换过来了, 这是多么贴心的功能啊.... 插件名:A 下载地址:http://www./scripts/script.php?script_id=31 下载好了之后,将a.vim放到 ~/.vim/plugin 文件夹中就相当于安装好了 :A 在新Buffer中切换到c/h文件 :AS 横向分割窗口并打开c/h文件 :AV 纵向分割窗口并打开c/h文件 :AT 新建一个标签页并打开c/h文件 8.自动补全之AutoComplPop AutoComplPop支持代码(普通变量函数)的自动弹出 下载地址:http://www./scripts/script.php?script_id=1879 同其他脚本插件的安装方法一致,将解压后的文件拷贝到~/.vim/ 下的相应目录里: autoload/* -> ~/.vim/autoload/ doc/* -> ~/.vim/doc/ plugin/* -> ~/.vim/plugin/ 重新打开vim即可使用。添加help文件:helptags ~/.vim/doc/即可(打开帮助文件:h(elp) autocomplpop)效果图如下: 9.c++代码的自动补全插件:OmniCppComplete,支持类的 . , ->, :: 操作符的自动补全 下载地址:http://www./scripts/script.php?script_id=1520 同其他脚本插件的安装方法一致,将解压后的文件拷贝到~/.vim/ 下的相应目录里: autoload/* -> ~/.vim/autoload/ doc/* -> ~/.vim/doc/ after/* -> ~/.vim/after/ 同时在.vimrc中增加相应配置 按 Ctrl+C 复制代码 按 Ctrl+C 复制代码 当在vim中敲tag后会生成相应的tags,然后set tags=xxx.tags即可。 注:ctags -R --c++-kinds=+p --fields=+iaS --extra=+q表示生成tags,是一个shell命令,所以绑定按键的时候要使用map tag :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q <CR>,表示在vim中按下tag命令,执行相应shell命令,之后同样需要设置tags:set tags=xxx.tags,如果觉得每次设置不方便,并且常用目录不会改变,也可以写在.vimrc set tags+=/home/xxx/tags 10.其他设置按 Ctrl+C 复制代码 按 Ctrl+C 复制代码 OK,大功告成,当然,整合之后,窗口比较多,所以附上vim常用窗口操作 四、vim多窗口使用技巧1、打开多个窗口打开多个窗口的命令以下几个: 2、关闭多窗口可以用:q!,也可以使用:close,最后一个窗口不能使用close关闭。使用close只是暂时关闭窗口,其内容还在缓存中,只有使用q!、w!或x才能真能退出。 3、窗口切换:ctrl+w+j/k,通过j/k可以上下切换,或者:ctrl+w加上下左右键,还可以通过快速双击ctrl+w依次切换窗口。 4、窗口大小调整纵向调整 5、给窗口重命名:f file 6、vi打开多文件vi a b c 7、文件浏览:Ex 开启目录浏览器,可以浏览当前目录下的所有文件,并可以选择 8、vi与shell切换:shell 可以在不关闭vi的情况下切换到shell命令行 |
|