vim属于天降神兵之类,而ctags就是其剑柄.
1. 安装
需要安装Exuberant Ctags, 由于我用的是redhat,所以比较麻烦,需要源码编译,所以首先需要到ctags官网下载,然后上传到服务器,解压后,进入文件夹开始编译:
1.1 源码安装
$cd ctags-x.x
$./configure --prefix /path/to/install
$make
#make install
1.2 写入环境变量
export PATH="/path/to/install/bin:$PATH"
1.3 配置vim
编辑用户根目录下的.vimrc文件
let Tlist_Ctags_Cmd="/path/to/install/bin/ctags"
2. 生成tags
2.1 生成标签
进入代码目录,终端执行:
$ctags -R
2.2 保存标签
编辑~/.vimrc文件,写入:
set tags = ~/your/tags/path/tags
3. 使用
3.1 普通操作
骚操作 | 骚操作的含义 |
---|---|
Ctrl + ] | 跳转到变量或函数的定义处 |
Ctrl + o/t | 返回到跳转前的位置 |
3.2 插件taglist
安装
到vim-taglist的官网下载对应的taglist压缩包,解压到~/.vim文件夹,
存放位置 | 文件含义 |
---|---|
~/.vim/plugin/taglist.vim | taglist插件 |
~/.vim/doc/taglist.txt | taglist帮助文件 |
使用
主要是配置~/.vimrc,然后设置快捷键, 下面是十一月zz分享的配置文件,非常好用
set nocp
set ru
set mouse=a "设置鼠标模式为all,设置鼠标模式后,才能通过鼠标双击Taglist列表中的标签来进行跳转;
syntax on
set tabstop=4
set autoindent
set shiftwidth=4
filetype on
"let mapleader="," "将<leader>映射为“,”
"map <silent> <leader>t <Esc>:TlistToggle<Cr> "将“,t”表示为命令行模式下的TlistToggle
map <F1> <Esc>:TlistToggle<Cr>
set showmatch
set matchtime=5
set cindent
set tags=~/gem5-master/tags
""""""""""""""""""""""""""""""
" Tag list (ctags)
""""""""""""""""""""""""""""""
let Tlist_Ctags_Cmd = '/usr/local/bin/ctags' "Ctags可执行文件的路径,千万要写对了,否则显示no such file
let Tlist_Show_One_File = 1 "不同时显示多个文件的tag,只显示当前文件的
let Tlist_Exit_OnlyWindow = 1 "如果taglist窗口是最后一个窗口,则退出vim
let Tlist_Auto_Open=0 "打开文件时候不自动打开Taglist窗口
let Tlist_Use_Right_Window = 0 "在右侧窗口中显示taglist窗口