配置linux平台下基于vim的开发环境

时间:2024-07-13 10:03:38

一、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++自动缩进(添加以下set语句到.vimrc中)
1)不讨论制表符宽度为8还是为4个空格较好,这里设置(软)制表符宽度为8(Linus在规定Linux kernel中C代码的风格):
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
PS:自动缩进有两个选项:”set autoindent” 与 “set cindent”.
autoindent 就是自动缩进的意思,当你在输入状态用回车键插入一个新行,或者在 normal 状态用 o 或者 O 插入一个新行时,autoindent 会自动地将当前行的缩进拷贝到新行,也就是“自动对齐”,当然了,如果你在新行没有输入任何字符,那么这个缩进将自动删除。
cindent 就不同了,它会按照 C 语言的语法,自动地调整缩进的长度,比如,当你输入了半条语句然后回车时,缩进会自动增加一个 TABSTOP 值,当你键入了一个右花括号时,会自动减少一个 TABSTOP 值。

二、ctags辅助工具

1、ctags是什么

ctags用来扫描指定的源文件,找出其中所包含的语法元素,并将找到的相关内容记录下来,供其他插件定位语法元素。

2、怎么生成ctags

例如命令:ctags -f systags -R --languages=c,c++ /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

详细用法参考:http://www.cnblogs.com/justkong/p/6265506.html