设置vim语法高亮显示和自动缩进
1、配置文件的位置
在目录
/etc/
下面,有个名为
vimrc
的文件,这是系统中公共的
vim
配置文件,对所有用户都有效。而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:
“
.vimrc
”
。例如,
/root
目录下,通常已经存在一个
.vimrc
文件。
2
、设置语法高亮显示
1)
打开
vimrc
,添加以下语句来使得语法高亮显示:
syntax on
2)
如果此时语法还是没有高亮显示,那么在
/etc
目录下的
profile
文件中添加以下语句:
export TERM=xterm-color
3
、设置Windows风格的C/C++自动缩进(添加以下set语句到vimrc中)
1
)
设置(软)制表符宽度为
4
:
set tabstop=4
set softtabstop=4
2
)
设置缩进的空格数为
4
set shiftwidth=4
3
)
设置自动缩进
:即每行的缩进值与上一行相等;使用
noautoindent
取消设置:
set autoindent
4
)
设置
使用
C/C++
语言的自动缩进方式:
set cindent
5
)设置
C/C++
语言的具体缩进方式(以我的
windows
风格为例):
set cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1s
6
)如果想在左侧显示文本的行号,可以用以下语句:
set nu
7
)最后,如果没有下列语句,就加上吧:
if &term=="xterm"
set t_Co=8
set t_Sb=^[[4%dm
set t_Sf=^[[3%dm
endif
安装ctags+taglist
1.ctags
(1)到http://ctags.sourceforge.net/下载ctags源码ctags-5.6.tar.gz
http://prdownloads.sourceforge.net/ctags/ctags-5.6.tar.gz
(2)解压并安装
tar zxvf ctags-5.6.tar.gz
cd ctags-5.6
./configure && make && make install
(3)使用
[/home/brimmer/src]$ ctags -R
"-R"表示递归创建,也就包括源代码根目录下的所有子目录下的源程序。"tags"文件中包括这些对象的列表:
l 用#define定义的宏
l 枚举型变量的值
l 函数的定义、原型和声明
l 名字空间(namespace)
l 类型定义(typedefs)
l 变量(包括定义和声明)
l 类(class)、结构(struct)、枚举类型(enum)和联合(union)
l 类、结构和联合中成员变量或函数
VIM用这个"tags"文件来定位上面这些做了标记的对象,下面介绍一下定位这些对象的方法:
1) 用命令行直接定位到某个tag所在位置。在运行vim的时候加上"-t"参数,例如:
[/home/brimmer/src]$ vim -t foo_bar
这个命令将打开定义"foo_bar"(变量或函数或其它)的文件,并把光标定位到这一行。
2) 在vim编辑器内用":ta"命令定位到某个tag所在位置,例如:
:ta foo_bar
3) 最方便的方法是把光标移到变量名或函数名上,然后按下"Ctrl-]"跳到定义处。用"Ctrl-o"退回原来的地方。
注意:运行vim的时候,必须在"tags"文件所在的目录下运行。否则,运行vim的时候还要用":set tags="命令设定"tags"文件的路径,这样vim才能找到"tags"文件。
在函数中移动光标
[{ 转到上一个位于第一列的"{"
}] 转到下一个位于第一列的"{"
{ 转到上一个空行
} 转到下一个空行 ([ and ] 也分别是两个指令)
gd 转到当前光标所指的局部变量的定义
* 转到当前光标所指的单词下一次出现的地方
# 转到当前光标所指的单词上一次出现的地方
Vim 的创造者是一名计算机程序员,因此这就不奇怪 Vim 中有许多帮助编写程序的功能:
跳转到标识符被定义和使用的地方;在另一个窗口中预览有关的声明等等。
2. taglist
能够列出源文件中的tag(function, class, variable, etc)并跳转.
注意:taglist依赖于ctags,所以要先装ctags,否则taglist装了也没法用!
(1)下载地址http://sourceforge.net/projects/vim-taglist/files/vim-taglist/
(2)解压得到两个文件夹: doc和plugin
# unzip -d taglist taglist_42.zip
(3)安装 (我机器上的vim版本是7.2,所以对应的目录是vim72)
cp doc/taglist.txt /usr/share/vim/vim72/doc/
cp plugin/taglist.vim /usr/share/vim/vim72/plugin/
(4)配置和使用
cd /usr/share/vim/vim72/doc/
启动vim,用 “:helptags .”来配置好帮助文件
重启vim,用“:Tlist”来打开和关闭taglist窗口。
在vim的配置文件/etc/vimrc中添加如下配置:
let Tlist_Show_One_File=1 "只显示当前文件的tags
let Tlist_WinWidth=40 "设置taglist宽度
let Tlist_Exit_OnlyWindow=1 "tagList窗口是最后一个窗口,则退出Vim
let Tlist_Use_Right_Window=1 "在Vim窗口右侧显示taglist窗口
使用
在Vim中加载代码文件后,可以使用以下命令控制taglist
TlistOpen(直接Tlist也可)打开并将输入焦点至于标签列表窗口,效果如上图所示
TlistClose关闭标签列表窗口
TlistToggle切换标签列表窗口状态(打开←→关闭),标签列表窗口是否获得焦点取决于其他配置
ctl-w+w或ctl-w+ 方向键窗口切换(taglist本质上是一个vim分隔窗口,因此可以使用ctl-w系列快捷键对窗口进行切换操作)在Taglist窗口主要有以下操作
按F1:打开帮助回车键:跳到光标所在的标记的定义处(如将光标移到main函数,按回车键)
o:新建一个窗口,跳到标记定义处
p:预览标记定义(仍然在taglist窗口)
空格:显示标记的原型(如函数原型)
u:更新标记列表(比如源文件新增了一个函数,并在保存后,可在taglist窗口按u)
s:选择排序字段(暂时我也不知道什么意思)
d:删除光标所在的taglist文件(如用vi打开了两个文件f1.c,f2.c可以删除f1.c的标记)
x:n放大/缩小taglist窗口
+:展开(指标记)
-:折叠
*:全部展开
=:全部折叠
[[:将光标移到前一个文件的起点
]]:将光标移到后一个文件的起点
q:退出taglist窗口
F1:关闭帮助