vim中C++环境配置 ctags+taglist

来源:互联网 发布:啊哈算法 pdf 百度云 编辑:程序博客网 时间:2024/06/06 09:00
设置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    "只显示当前文件的tagslet Tlist_WinWidth=40        "设置taglist宽度let Tlist_Exit_OnlyWindow=1  "tagList窗口是最后一个窗口,则退出Vimlet 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:关闭帮助

0 0
原创粉丝点击