標籤:http os 使用 sp for strong 檔案 on bs
通常在Linux或其他*Nix環境我們都使用VIM作為代碼編輯工具,在純命令終端下,它幾乎是無可替代的。 它具有非常強大的擴充機制,在文字編輯方面基本上無所不能。 不過Emacs使用者請不要激動,筆者還沒有真正使用Emacs,雖然我知道它甚至可以煮咖啡, 還是等筆者有時間了或許會試試煮杯咖啡邊喝邊寫。
推薦在Linux下編寫代碼的讀者或多或少的試一試ctags。 ctags支援非常多的語言,可以將原始碼中的各種符號(如:函數、宏類等資訊)抽取出來做上標記並儲存到一個檔案中, 供其他文本編輯工具(VIM,EMACS等)進行檢索。 它儲存的檔案格式符合UNIX的哲學(小即是美), 使用也比較簡潔:
#在PHP源碼目錄(假定為/server/php-src)執行:$ cd /server/php-src$ ctags -R #小技巧:在目前的目錄產生的tags檔案中使用的是相對路徑,#若改用 ctags -R /server/ ,可以產生包含完整路徑的ctags,就可以隨意放到任意檔案夾中了。 #在~/.vimrc中添加:set tags+=/server/php-src/tags#或者在vim中運行命令::set tags+=/server/php-src/tags
上面代碼會在/sever/php-src目錄下產生一個名為tags的檔案,這個檔案的格式如下:
{tagname}<Tab>{tagfile}<Tab>{tagaddress} EG Zend/zend_globals_macros.h /^# define EG(/;" d
它的每行是上面的這樣一個格式,第一列是符號名(如上例的EG宏),第二列是該符號的檔案位置以及這個符號所在的位置。 VIM可以讀取tags檔案,當我們在符號上(可以是變數名之類)使用CTRL+]時VIM將嘗試從tags檔案中檢索這個符號。 如果找到則根據該符號所在的檔案以及該符號的位置開啟該檔案, 並將游標定位到符號定義所在的位置。 這樣我們就能快速的尋找到符號的定義。
使用 Ctrl+] 就可以自動跳轉至定義,Ctrl+t 可以返回上一次查看位置。這樣就可以快速的在代碼之間“遊動”了。
習慣這種瀏覽代碼的方式之後,大家會感覺很方便的。不過若你不習慣使用VIM這類編輯器,也可以看看下面介紹的IDE。
使用VIM + Ctags