Ubuntu16.04安裝配置和使用ctags
阿新 • • 發佈:2018-07-31
刪除 可執行 exe path opencv 了吧 -- sta ntc
Ubuntu16.04安裝配置和使用ctags
by ChrisZZ
ctags可以用於在vim中的函數定義跳轉。在ubuntu16.04下默認提供的ctags是很老很舊的ctags,快要發黴的版本(5.9~svn20110310-11),快扔掉它,安裝universal-ctags吧!
發黴的exuberant-ctags
來,一起看看,默認的ctags是什麽情況。
查看apt提供了哪些ctags包
aptitude search ctags
查詢結果:
v ctags - v ctags:i386 - i exuberant-ctags - build tag file indexes of source code definitions p exuberant-ctags:i386 - build tag file indexes of source code definitions p geany-plugin-ctags - ctags plugin for Geany p geany-plugin-ctags:i386 - ctags plugin for Geany p libparse-exuberantctags-perl - exuberant ctags parser for Perl p libparse-exuberantctags-perl:i386 - exuberant ctags parser for Perl
其中只有exuberant-ctags是apt可安裝ctags版本的正確名字。
查看exuberant-ctags版本信息
dpkg -l exuberant-ctags
查詢結果:
Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-==============================================================-====================================-====================================-================================================================================================================================== ii exuberant-ctags 1:5.9~svn20110310-11 amd64 build tag file indexes of source code definitions
看到其中版本號是5.9~svn20110310-11,已經7年沒有更新了。這樣的包,發黴7年了,扔了吧:
sudo apt remove exuberant-ctags -y
安裝新鮮的universal-ctags
universal-ctags是什麽?A maintained ctags implementation, https://ctags.io,一個負責的ctags實現,在github上開源並且持續更新和維護。
不多說,快點安裝吧:
cd /tmp git clone https://github.com/universal-ctags/ctags ./autogen.sh ./configure --prefix=/opt/software/universal-ctags # 我的安裝路徑。你按自己的情況調整。 make -j8 sudo make install
把ctags可執行文件更新到系統PATH上?No,我選擇創建鏈接的方式:
# 如果你裝了emacs-snapshot,那麽現在的ctags命令實際上鏈接到了/usr/bin/ctags-snapshot,要先刪除鏈接文件:
# sudo rm /usr/bin/ctags
# 然後,把新編譯安裝的universal-ctags鏈接過來:
sudo ln -s /opt/software/universal-ctags/bin/ctags /usr/bin/ctags
在vim中配置ctags
關鍵一句是:set tags=./.tags;,.tags
,放在vim配置文件中。
可以直接用我的vim配置:
cd /tmp
git clone --depth=1 https://github.com/amix/vimrc.git ~/.vim_runtime
sh ~/.vim_runtime/install_awesome_vimrc.sh
git clone https://github.com/zchrissirhcz/dotfiles
cp dotfiles/my_configs.vim ~/.vim_runtime/
使用ctags
cd ~/work/opencv # 隨便進入到一個你的c++工程目錄
ctags -R . #遞歸地生成.tags文件
然後在vim中用shift+]和shift+t來跳轉進入和跳出函數定義。
enjoy!
Ubuntu16.04安裝配置和使用ctags