一.ubuntu下安裝Linux內核源碼
(1).查看自己的內核版本
(2).查看源內的內核源碼類表
(3).下載源碼
(4).進入/usr/src
(5).解壓下載的文件到用戶主
二.安裝vim插件Ctags和使用
插件的介紹
Ctags工具是用來遍歷源代碼文件生成tags文件,這些tags文件能被編輯器或其它工具用來快速查找定位源代碼中的符號(tag/symbol),如變量名,函數名等。比如,tags文件就是Taglist和OmniCppComplete工作的基礎。
(1).下載并安裝
(2).基本功能使用
1.$ ctags –R * ($ 為Linux系統Shell提示符)
2.$ vi –t tag (請把tag替換為您欲查找的變量或函數名)
3.:ts
(ts 助記字:tags list, “:”開頭的命令為VI中命令行模式命令)
4.:tp (tp 助記字:tags preview)
5.:tn (tn 助記字:tags next)
6.Ctrl + ]
7.Ctrl+T
命令解釋:
“$ ctags –R *”:“-R”表示遞歸創建,也就包括源代碼根目錄(當前目錄)下的所有子目錄。“*”表示所有文件。這條命令會在當前目錄下產生一個“tags”文件,當用戶在當前目錄中運行vi時,會自動載入此tags文件。
Tags文件中包括這些對象的列表:
1.用#define定義的宏
2.枚舉型變量的值
3.函數的定義、原型和聲明
4.名字空間(namespace)
5.類型定義(typedefs)
6.變量(包括定義和聲明)
7.類(class)、結構(struct)、枚舉類型(enum)和聯合(union)
8.類、結構和聯合中成員變量或函數
VIM用這個“tags”文件來定位上面這些做了標記的對象。
剩下的命令就是定位這些對象的方法:
“$ vi –t tag” :在運行vim的時候加上“-t”參數,例如:
[/usr/src]$ vim -t main
這個命令將打開定義“main”(變量或函數或其它)的文件,并把光標定位到這一行。
如果這個變量或函數有多處定義,在VI命令行模式
“:ts”命令就能列出一個列表供用戶選擇。
“:tp”為上一個tag標記文件,
“:tn”為下一個tag標記文件。當然,若當前tags文件中用戶所查找的變量或函數名只有一個,“:tp,:tn”命令不可用。
方便的方法是把光標移到變量名或函數名上,然后按下“Ctrl+]”,這樣就能直接跳到這個變量或函數定義的源文件中,并把光標定位到這一行。用“Ctrl+t”可以退回原來的地方。即使用戶使用了N次“Ctrl+]”查找了N個變量,按N次“Ctrl+t”也能回到初打開的文件,它會按原路返回 。
更多功能通過命令man ctags或在Vim命令行下運行help ctags查詢。
查看函數strlen的步驟如下:
(1).給當前文件夾及其及其子目錄創建tags標記文件.
(2).使用vim打開標記文件
(3).使用ts顯示該函數的列表
(4).按space出現下面界面
(5).找到lib/*.c,輸入編號
(6).顯示源碼
(7).查看變量的定義,光標放在變量上,按ctrl+] ,ctrl+o/t回來
(8).打開/etc/vim/vimrc文件
(9).在低端添加set tags=tags;/
在當前路徑下未找到tags文件,去上級路徑以及上上路徑去查找