1. 程式人生 > >ctags-vim代碼間快速跳轉

ctags-vim代碼間快速跳轉

實現 重新啟動 舉例 一個 lin 驅動 ubunt 使用 建議

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代碼間快速跳轉