ctags-vim代碼間快速跳轉
ctags-vim代碼間快速跳轉
1、說明
在Linux環境下使用vim進行驅動程序編寫和維護的時候,會經常需要調用Linux內核的函數或宏定義,在驅動程序和kernel代碼之間頻繁跳轉是件很繁瑣的事,使用ctags包可以輕松實現函數或宏定義的跳轉。
2、配置方法
假設:系統中已經安裝ctags。
舉例:
以在Linux內核代碼linux-3.5創建tags為例,建議先將linux-3.5內核代碼編譯通過,因為打上ctags包之後,再進行編譯或者修改會破壞ctags環境,需要重新打ctags;內核代碼不進行編譯也可以正常實現代碼間的跳轉使用。
在程序項目主目錄(想實現代碼間跳轉的目錄),例如/home/kernel/linux-3.5/:
# cd /home/kernel/linux-3.5
# ctags -R
運行後,在/home/kernel/linux-3.5/目錄下會生成一個tags文件。
將tags包設置為全局:
在Redhat系統下:
# vim /etc/vimrc
在Ubuntu系統下:
# vim /etc/vim/vimrc
在vimrc文件末行添加:
set tags+=/home/kernel/linux-3.5/tags
註意:
必須使用“+=”,並且兩邊不能有空格。
不需要重新啟動電腦,只需要將vim已經打開的文件關掉並重新打開,就可以實現程序代碼帶內核代碼之間的跳轉。
要想實現自己編寫的多個程序文件之間,或者單個文件內不同地方的函數之間的跳轉,也可以用ctags實現,方法同上,舉例如下:
假如:正在編寫的驅動程序代碼為/home/helloworld/。
# cd /home/helloworld
# ctags -R
在/home/helloworld/目錄下會生成一個tags文件。
將tags包設置為全局:
在Redhat系統下:
# vim /etc/vimrc
在Ubuntu系統下:
# vim /etc/vim/vimrc
在vimrc文件末行添加:
set tags+=/home/helloworld/tags
同樣不需要重新啟動電腦,只需要將vim已經打開的文件關掉並重新打開,就可以實現程序代碼帶內核代碼之間的跳轉。
3、使用方法
Ctrl + ]
Ctrl + o
在Linux環境下任意目錄下的程序文件裏的函數,要實現跳轉到kernel代碼進行查看,只需要將vim光標移動到函數名或宏定義名稱上,使用快捷鍵“Ctrl+]”,即可跳轉到kernel中的函數或宏定義的地方進行查看,有多個要跳轉的路徑時會在vim下邊出現幾行選項,直接輸入數字加回車可以進行對應的函數或宏定義選擇;要想返回上一級函數或宏定義,只需要使用快捷鍵“Ctrl+o”,即可跳會上次的查看的函數。
ctags-vim代碼間快速跳轉