Ubuntu下创建vim+Taglist+cscope+ctags组合编辑器
标签: vimubuntutags正则表达式kill
2012-07-26 16:26 26831人阅读 评论(17) 收藏 举报
分类: Linux 系统安装、配置、编译&测评(12)
版权声明:本文为博主原创文章,未经博主允许不得转载。
目录(?)[+]
有人抱怨Linux系统下没有类似于VC之类的方便快捷的编辑器,有人用gedit,有人用vim,但是都不方便而且也没有自动补全之类的方便用户的功能。本文简单介绍使用vim中的几个插件(Ctags、Cscope和TagList)实现一个强大的编辑器,希望可以帮助您学习、使用。
一、软件安装
Ubuntu给我们安装软件提供了很大的便利,比如说,安装vim我们可以直接使用”sudo apt-get install vim”即可安装!
同样,cscope和ctags也可以使用相同方法安装,这是多么畅快淋漓啊!感谢Ubuntu给我们用户如此便利!
对于Taglist使用这个方法安装不了,我们需要先下载,然后安装完成:
首先上网下载Taglist插件,下载完成后解压,再将文件下的taglist.vim使用cp命令拷贝到HOME/.vim/plugin文件夹下(cp -r taglist.vim ~/.vim/plugin)
这样,vim+Taglist+cscope+ctags四种工具我们是安装好了,但是如何使用呢?
二、Vim简介及配置
vim是一个非常好用的编辑工具,以下介绍几个常用的底行模式命令:
(1). 设置缩进
:set smartindent // 设置缩进
:set smartindent shiftwidth=4 // C语言自动缩进,缩进值为4个字符宽度
(2). 显示光标行列信息
:set ruler // 显示光标信息(右下角)
(3). 查看制表符
:set list // 显示制表符,以^符号显示制表符的位置
(4). 查看行数信息
:set number //显示行号(左边)
(5). 关键字高亮
:Syntax on //关键字高亮
(6). 多文件编辑 ,在编写程序时有可能需要同时编辑多个文件,在这种情况下,需要如下设置
: split two.c // 多文件编辑
当然,如果不嫌麻烦,可以在每次打开Vim时 输入如上命令,如我经常用的是:set number :set ruler :Syntax on :set smartindent 命令,如果将平时在底行模式下输入的命令直接写入配置文件,则以后使用Vim时不用再次输入这些命令。
首先,试着在Vi的底行模式下输入如下命令,如果不支持的话,去下载一个Vim的全版本,sudo apt-get install vim-full。
以下是修改配置文件的方法:
(1). 找到Vimrc文件。
(2) 查看文件的权限:
zhouyl@ubuntu:~
vimrc vimrc.tiny
zhouyl@ubuntu:/etc/vim$ ls -l vimrc
-rw-r–r– 1 root root 3449 9月 11 17:30 vimrc
(3) 如果没有写权限的话,修改权限,使我们可以修改该配置文件
sudo chmod a+w vimrc
(4)根据个人需要将上诉命令写入配置文件
比如,我个人的设置是: Syntax on,set ruler,set number,set smartindent shiftwidth=4
下面贴上我的vimrc文件的配置信息:
[html] view plain copy
“显示行号
“set number “或者set nu
map :set nu “映射F5显示行号,参考”vim 按键映射”(http://www.pythonclub.org/vim/map-basic)
map :set nonu “映射Ctrl+F5为不显示行号
“检测文件的类型
filetype on
“记录历史的行数
set history=1000
“自动对齐
set autoindent
set cindent
“智能选择对齐方式
set smartindent
“tab为4个空格
set tabstop=4
“当前行之间交错时使用4个空格
set shiftwidth=4
“设置匹配模式,输入做括号会出现右括号
set showmatch
“编辑时显示光标状态
set ruler
“高亮查找
set hlsearch
“粘贴插入
set paste
“快速匹配
set incsearch
“修改文件自动备份
if has(“vms”)
set nobackup
else
set backup
endif
“”“”“”“”“”“”“设置开启ctags”“”“”“”“”“”“”
map :!ctags -R –c++-kinds=+p –fields=+iaS –extra=+q .
“第一个命令里的分号是必不可少的。这个命令让vim首先在当前目录里寻找tags文件,如果没有找到
tags文件,或者没有找到对应的目标,就到父目录 中查找,一直向上递归。因为tags文件中记录的>路径总是相对于tags文件所在的路径,所以要使用第二个设置项来改变vim的当前目录。
set tags=tags;
set autochdir
“绝对路径
“set tags=/home/long/workstation/ganguio/uio-8139d-driver/V7/tags,/home/long/linux-3.7.3/drivers/uio/tags
“”“”“”“”“”“”“”“”“Taglist设置”“”“”“”“”“”“”“”“”
map : Tlist “”按下F3就可以呼出了
“let Tlist_Auto_Open = 1 “在启动VIM后,自动打开taglist窗口
let Tlist_Ctags_Cmd = ‘/usr/bin/ctags’ “设定ctags的位置
let Tlist_Use_Right_Window=0 ” 1为让窗口显示在右边,0为显示在左边
let Tlist_Show_One_File=0 “让taglist可以同时展示多个文件的函数列表,设置为1时不同时显示>多个文件的tag,只显示当前文件的
let Tlist_File_Fold_Auto_Close=1 “同时显示多个文件中的tag时,taglist只显示当前文件tag,>其他文件的函数列表折叠隐藏
let Tlist_Exit_OnlyWindow=1 “当taglist是最后一个分割窗口时,自动退出vim
“let Tlist_Use_SingleClick= 1 ” 缺省情况下,在双击一个tag时,才会跳到该tag定义的位置
“let Tlist_Process_File_Always=0 “是否一直处理tags.1:处理;0:不处理
“”“”“”“”“”“”“”“”“”“”“”“cscope设置”“”“”“”“”“”“”“”“””
set cscopequickfix=s-,c-,d-,i-,t-,e-
if has(“cscope”)
set csprg=/usr/bin/cscope
set csto=1
set cst
set nocsverb
” add any database in current directory
if filereadable(“cscope.out”)
cs add cscope.out
endif
set csverb
endif
nmap