转载自:http://blog.csdn.net/wooin/article/details/1858917
在原文基础上经过自己验证,修改和完善
OS:Fedora19
VIM:VIM7.4
一、写在前面
Linux下编程一直被诟病的一点是: 没有一个好用的IDE, 但是听说Linux牛人, 黑客之类的也都不用IDE. 但是对我等从Windows平台转移过来的Coder来说, 一个好用的IDE是何等的重要啊, 估计很多人就是卡在这个门槛上了, "工欲善其事, 必先利其器"嘛, 我想如果有一个很好用的IDE, 那些Linux牛人也会欢迎的. 这都是劳动人民的美好愿望罢了, 我今天教大家把gvim改装成一个简易IDE, 说它"简易"是界面上看起来"简易", 但功能绝对不比一个好的IDE差, 该有的功能都有, 不该有的功能也有, 你就自己没事偷着乐吧, 下面我开始介绍今天的工作了.
本文会教你:
1. 中文帮助手册的安装
2. vim编程常用命令
3. 语法高亮
4. 在程序中跳来跳去: Ctags 的使用
5. 教你高效地浏览源码 -- 插件: TagList
6. 文件浏览器和窗口管理器 -- 插件: WinManager
7. Cscope 的使用
8. QuickFix 窗口
9. 快速浏览和操作Buffer -- 插件: MiniBufExplorer
10. c/h文件间相互切换 -- 插件: A
11. 在工程中查找 -- 插件: Grep
12. 高亮的书签 -- 插件: VisualMark
13. 自动补全
14. 加速你的补全 -- 插件: SuperTab
本文不会教你:
1. 如何使用vim. 本文不会从零开始教你如何使用vim, 如果你是第一次接触vim, 建议你先看看其他的vim入门的教程, 或者在shell下输入命令: vimtutor, 这是一个简单的入门教程.
2. 编程技巧.
3. vim脚本的编写.
下面对文中的一些名字定义一下:
1. 文中用到的一些用<>括起来的符号比如<C-T>, <C-S-A>, 之类的, 你可以用下面的命令看看解释:":help keycodes"
2. 文中说的一些路径, 比如:
~/.vim/plugin
~/.vim/doc
~/.vim/syntax
如果你没有, 就自己创建.
3. 文中说到的.vimrc文件都是指 ~/.vimrc
二、中文帮助手册的安装
安装方法:
在下面的网站下载中文帮助的文件包:
http://vimcdoc.sf.net (English)
http://vcd.gro.clinux.org (中文)
下载的文件包应该是类似这样的: vimcdoc-1.5.0.tar.gz
解压后其中有个doc文件夹, 将其中的内容全部复制到~/.vim/doc, 或者vim安装目录下的doc目录中, 此时vim中的help信息已经是中文的了.
注意:
a. 如果无法显示中文, 在~/.vimrc中增加下面这句试试:
set helplang=cn
b. 帮助文件的文本是utf-8编码的, 如果想用vim直接查看, 需要在~/.vimrc中设置:
set encoding=utf-8
三、编程常用命令
下面是我常用的一些命令, 放在这里供我备忘:
% | 跳转到配对的括号去 |
[[ | 跳转到代码块的开头去(但要求代码块中'{'必须单独占一行) |
gD | 跳转到局部变量的定义处 |
'' | 跳转到光标上次停靠的地方, 是两个', 而不是一个" |
mx | 设置书签,x只能是a-z的26个字母 |
`x | 跳转到书签处("`"是1左边的键) |
> | 增加缩进,"x>"表示增加以下x行的缩进 |
< | 减少缩进,"x<"表示减少以下x行的缩进 |
四、语法高亮
写程序没有语法高亮将是一件多么痛苦的事情啊, 幸亏vim的作者是个程序员(如果不是, 那可NB大了), 提供了语法高亮功能, 在上面的图片中大家也可以看到那些注释, 关键字, 字符串等, 都用不同颜色显示出来了, 要做到这样, 首先要在你的 ~/.vimrc 文件中增加下面几句话:
syntax on
syntax enable
再重新启动vim, 并打开一个c程序文件, 是不是觉得眼前突然色彩缤纷了起来...如果你不喜欢这个配色方案你可以在“/usr/share/vim/vim74/colors”中选择一个你满意的配色方案, 然后在~/.vimrc文件中增加下面这句:
colorscheme torte
torte是我喜欢的配色方案, 你可以改成你的. 如果菜单中的配色方案你还不满意(你也太花了吧), 没关系, 在 vim.org 上跟你一样的人很多, 他们做了各种各样的颜色主题, 你可以下载下来一个一个的试, 多地可以看到你眼花. 如果这样你还不满意(你还真是XXXX), 没关系, vim的作者早想到会有你这种人了, 你可以创建你自己的颜色主题, 把下面的这篇文档好好学习一些一下吧:
":help syntax.txt"
PS:原文作者在这里介绍了高亮运算符,函数名之类的方法,但是我改来改去还是没效果,最终作罢.
五、在程序中跳来跳去——ctags的使用
tags文件是由ctags程序产生的一个索引文件, ctags程序其是叫"Exuberant Ctags", 是Unix上面ctags程序的替代品, 并且比它功能强大, 是大多数Linux发行版上默认的ctags程序. 那么tags文件是做什么用的呢? 如果你在读程序时看了一个函数调用, 或者一个变量, 或者一个宏等等, 你想知道它们的定义在哪儿, 怎么办呢? 用grep? 那会搜出很多不相干的地方. 现在流行用是的<C-]>, 谁用谁知道呀, 当光标在某个函数或变量上时, 按下"Ctrl+]", 光标会自动跳转到其定义处, 够厉害吧, 你不用再羡慕Visual Studio的程序员了, 开始羡慕我吧~_~.
你现在先别急着去按<C-]>, 你按没用的, 要不要我干什么呀, 你现在要做的是查查你电脑里有没有ctags这个程序, 如果有, 是什么版本的, 如果是Ctags 5.5.4, 就象我一样, 你最好去装一个Ctags 5.8, 这个在后面的自动补全章节中会用到. 在这个网站: http://ctags.sourceforge.net, 下载一个类似 ctags-5.8.tar.gz 的文件下来.
用下面的命令解压安装
"tar -xzvf ctags-5.8.tar.gz"
"cd ctags-5.8"
"./configue"
"make"
"sudo make install"
"make clean"
然后去你的源码目录, 如果你的源码是多层的目录, 就去最上层的目录, 在该目录下运行命令: ctags -R
我现在以 Code 的源码目录做演示
"cd /home/pingge/Code"
"ctags -R"
此时在/home/pingge/Code目录下会生成一个 tags 文件, 现在用vim打开 /home/pingge/Code/test.c
再在vim中运行命令:
":set tags=/home/pingge/Code/tags"
然后把光标放到一个函数上按 <CTRL-]> ,光标就会跳到函数的定义处。
如果此时你还想再跳回刚才的位置, 你还可以按<CTRL-T>, 这样又跳回到函数被调用的地方了, 变量, 结构, 宏, 等等, 都可以的, 赶快试试吧.....
不过还有一个小瑕疵, 你修改程序后, 比如增加了函数定义, 删除了变量定义, tags文件不能自动rebuild, 你必须手动再运行一下命令:
"ctags -R"
使tags文件更新一下, 不过让人感到欣慰的是vim不用重新启动, 正在编写的程序也不用退出, 马上就可以又正确使用<C-]>和<C-T>了