用vim替代source insight(ctags+taglist+)

来源:互联网 发布:淘宝内莎琪儿内衣模特 编辑:程序博客网 时间:2024/04/27 14:04
用vim替代source insight(ctags+taglist+)
用vim替代source insight(ctags+taglist+)

Vim tags 的使用

ctag 檔案的製作

不講究的話,可以在所解開的 source code 目錄下,下以下指令:

ctags -R *

這樣會有 source code 目錄下產生一個 tags 這個檔(可以使用 -f 選項來指定檔案名),裡頭就包含了整個 source code 的所有檔案的 tags 資訊,包括其下所有的子目錄下的檔案。ctags 已盡可能的做到聰明掃描檔案的能力,會忽略和程式碼無關的檔案。當然 ctags 還有許多精細的參數可以使用,請 man ctags

請注意,ctags 預設會將輸出檔排序,因此不必自行另外去排序。有排序有一個好處,那就是 Vim 會去使用 binary search 的方式去搜尋,這樣會比較快。


一般的 tag 使用

如果就照上一節的方式產生 tag files,那麼只要在 source code 目錄下由 vim 去開啟檔案的話,會自動載入 tags 這個檔案,無需另行載入,否則要由 :set tags=your.tags 來指定 tags 檔。然後就是照一般使用 Vim 線上說明一樣,游標移到識別字或函數名上,按 Ctrl+],要回到原處就按 Ctrl+T

請注意,Vim 啟動時,工作目錄(vim 啟動時的所在目錄)名為 tags 的檔案會自動載入,$VIMRUNTIME/doc$HOME/.vim/doc 目錄下的 tags 檔也會自動載入。而且,凡是載入的 tags 檔裡頭所有標誌文字都可以使用補全鍵來補全,別忘了這個好用的功能。

在目录树中自由使用tag

编辑vim的设置文件(_vimrc或.vimrc),添加两行

set tags=tags;

set autochdir

注意第一个命令里的分号是必不可少的。这个命令让vim首先在当前目录里寻找tags文件,如果没有找到tags文件,或者没有找到对应的目标,就到父目录中查找,一直向上递归。因为tags文件中记录的路径总是相对于tags文件所在的路径,所以要使用第二个设置项来改变vim的当前目录。
使用这两个技巧后,就可以在目录树中自由的浏览源程序了。

让你的vim能够查看函数列表(taglist)

图形界面下的很多编辑软件都可以列出当前编辑文件中的函数列表,以便在编辑的时候能够快速的跳转。vim虽然没有直接提供这种功能,但配合适当的工具和设定,可以完美的实现!

首先还是安装,vim不用装了,ubuntu中自带,用到的ctags需要自己安装一下,不要用旧的那个ctags,新的叫Exuberant Ctags,apt安装即可:apt-get install exuberant-ctags。

然后按照vim.org上的安装说明,下载taglist_45.zip,解压到home目录下的.vim子目录中:

~/.vim$ unzip /home/fwolf/taglist_45.zip
Archive: /home/fwolf/taglist_45.zip
inflating: plugin/taglist.vim
inflating: doc/taglist.txt

进入$HOME/.vim/doc目录,打开VIM 运行“helptags .”命令,注意后面的点不要拉了,这是为了生成ctags帮助文件的索引,然后才能正常使用帮助。(原来vi帮助中的ctrl+]进入链接、ctrl+T返回也是这么来的)

现在,再启动vim,tags功能就可以用了:
vim中使用ctags的效果截图

大概用法:
在使用vim的时候,使用:Tlist命令切换函数列表的开、关。
按住ctrl键然后按两下w键在正常编辑区域和tags区域中切换。
在tags区域中,把光标移动到变量、函数名称上,然后敲回车,就会自动在正常编辑区域中定位到指定内容了,很方便的。

常用的几项.vimrc设置:

“禁止自动改变当前Vim窗口的大小
let Tlist_Inc_Winwidth=0
“把方法列表放在屏幕的右侧
let Tlist_Use_Right_Window=1
“让当前不被编辑的文件的方法列表自动折叠起来, 这样可以节约一些屏幕空间
let Tlist_File_Fold_Auto_Close=1
原创粉丝点击