一、vim的基本配置
1、配置文件的位置
在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。而在每个用户的主目录($HOME)下,都可以自己建立私有的配置文件(仅对这个用户有效),命名为:“.vimrc”。例如,/root目录下,通常已经存在一个.vimrc文件。我就是在自己的$HOME目录下新建了了.vimrc文件来配置的。
2、基本设置
1) 打开.vimrc,添加以下语句来使得语法高亮显示:
syntax on
2) 如果此时语法还是没有高亮显示,那么在/etc目录下的profile文件中添加以下语句:
export TERM=xterm-color
3、设置C/C++自动缩进
1)设置制表符宽度:
set tabstop=8
set softtabstop=8
2)设置缩进的空格数为8
set shiftwidth=8
另外,“set expandtab”选项会将TAB展开(被替换)为对应个数的空格,我一般不推荐设置这个选项。
3)设置自动缩进:即每行的缩进值与上一行相等;使用 noautoindent 取消设置:
set autoindent
4)设置使用 C/C++ 语言的自动缩进方式:
set cindent
5)设置C/C++语言的具体缩进方式(如下设置,仅作参考):
set cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1s
6)如果想在左侧显示文本的行号,可以用以下语句:
set nu
7)自动缩进两个选项”set autoindent” 与 “set cindent”的区别
插入一个新行时,autoindent 会自动地将当前行的缩进拷贝到新行,也就是“自动对齐”,当然了,如果你在新行没有输入任何字符,那么这个缩进将自动删除。
cindent 就不同了,它会按照 C 语言的语法,自动地调整缩进的长度,比如,当你输入了半条语句然后回车时,缩进会自动增加一个 TABSTOP 值,当你键入了一个右花括号时,会自动减少一个 TABSTOP 值。
二、vim插件
基于vim编辑器有很多代码补全的插件,常用的例如OmniCppComplete、Autocomplpop,code_complete,能够根据代码的上下文提供自动补全的功能。
三、ctags
1、ctags是什么
ctags用来扫描指定的源文件,找出其中所包含的语法元素,并将找到的相关内容记录下来,生成ctags文件,供其他插件定位语法元素。
2、怎么生成ctags
例如命令:ctags -f systags -R --languages=c,c++ --c++-kinds=+px /usr/include /usr/local/include
-f表示生成的tag文件为systags
-R表示递归扫描目录及其子目录
--languages表示扫描c或者c++文件
/usr/include /usr/local/include表示扫描系统头文件目录
3、设置ctags
(1)若tag文件在当前目录,打开vim编辑器,在vim命令行中输入:set tags+=./systags,若要引用多个不同目录的tags文件,可以用逗号隔开。
(2)设置vimrc,在etc/vim/vimrc中加入一行:set tags+=./systags,就不用每次手动设置。
4、使用ctags
(1)ctrl+]和ctrl+t命令:将光标移动到需要跳转的函数上,按ctrl+]和ctrl+t可以跳转和回溯。
(2)在vim命令行上输入:tag/ta name,可以跳转到对应的函数或者变量
(3)输入命令:tags,可以查看已经到过哪tag
(4)当有很多同名tag的时候,可以通过命令:tselect tagname列出所有的tag,通过命令:tfirst、tprevious、tnext、tlast选择tag