一、插件
cscope、 exuberant-ctags、global、cppcomplete.vim taglist.vim
安装:sudo apt-get install exuberant-ctags cscope global
cppcomplete.vim taglist.vim
taglist 的下载地址:
http://www.vim.org/scripts/script.php?script_id=273
cppcomplete 的下载地址:
http://www.vim.org/scripts/script.php?script_id=527
二、设置
mkdir -p ~/.vim/plugin ~/.vim/doc
cp cppcomplete.vim taglist.vim ~/.vim/plugin
cp /usr/share/doc/global/examples/gtags.vim.gz ~/.vim/plugin && cd ~/.vim/plugin && gzip -d gtags.vim.gz
将下面代码copy到你的.vimrc中:
if has("cscope")
set csprg=/usr/bin/cscope
set csto=0
set cst
set nocsverb
" add any database in current directory
if filereadable("cscope.out")
cs add cscope.out
" else add database pointed to by environment
elseif $CSCOPE_DB != ""
cs add $CSCOPE_DB
endif
set csverb
set cscopetag
set cscopequickfix=s-,g-,c-,d-,t-,e-,f-,i-
endif
map :TlistToggle
你可以在本blog中找到.vimrc的设置,其实都是官方网站上给出的代码,如果有兴趣可以查看:http://http://www.vim.org
三、用法
关于这些插件的用法可以到google上查找 一下,有更详细的说明,不过我写了两个简单的shell script,你可以借鉴一下
1、cscreate.sh
#!/bin/bash
if [ -n "$1" ]
then
cd $1
sudo find -name "*.h" -o -name "*.c" -o -name "*.cpp" > cscope.file
sudo cscope -bkq -i cscope.file
sudo ctags -R
# sudo cscope -Rb
else
echo "Please input dir of project"
fi
2、csdel.sh
#!/bin/bash
if [ -n "$1" ]
then
cd $1
sudo rm -f cscope* tags
else
echo "Please input dir of project"
fi
保存这两个文件到/usr/bin下面。
example:
/Project:是你的工程目录
打开你的终端,输入:cscreate.sh /Project
这时会生成一些cscope*的文件
然后你就可以:vi /Project/*.cpp /Project/*.h
在任何一个变量或函数名:ctrl+] 转到定义
返回:ctrl+o
按F3就会出现函数列表
效果如图:
如果你有多个工程时请在关闭VI后,输入:csdel.sh /Project也就是删除刚编译的工程中cscope*等文件
养成这个习惯对你会有好处的。
四、闲话
如果你有兴趣扩展这些shell script的话,请将改好后的shell copy到这里来,大家一起分享一下,谢了!
转自:开发网
原帖地址:http://www.leafka.com/2007/02/08/vim%E7%9A%84%E8%AE%BE%E7%BD%AE%E5%8F%8A%E6%8F%92%E4%BB%B6%E5%AE%89%E8%A3%85.html