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

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

V im tags 的使用

ctag 檔案的製作

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

ctags -R *

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

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


一般的 tag 使用

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

請注意,V im 啟動時,工作目錄(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
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值