Ubuntu下將VIM改造成IDE 首先我們安裝vim編輯器,可以選用直接sudo apt-get install vim-gtk安裝完成後,我們再來安裝外掛程式ctags,該外掛程式主要是用來tags檔案是由ctags程式產生的一個索引檔案, ctags程式其是叫"Exuberant Ctags", 是Unix上面ctags程式的替代品, 並且比它功能強大, 是大多數Linux發行版上預設的ctags程式. 那麼tags檔案是做什麼用的呢? 如果你在讀程式時看了一個函數調用, 或者一個變數, 或者一個宏等等, 你想知道它們的定義在哪兒, 怎麼辦呢? 用grep? 那會搜出很多不相干的地方. 現在流行用是的<C-]>, 誰用誰知道呀, 當游標在某個函數或變數上時, 按下"Ctrl+]", 游標會自動跳轉到其定義處, 夠厲害吧, 你不用再羨慕Visual Studio的程式員了, 開始羨慕我吧~_~. 在這個網站: http://ctags.sourceforge.net, 下載一個類似 ctags-5.8.tar.gz 的檔案下來:用下面的命令解壓安裝:$ tar -xzvf ctags-5.8.tar.gz$ cd ctags-5.8$ ./configure$ make$ sudo make install安裝完畢。然後就開始使用ctags僅需記住下面七條命令:(很簡單吧,呵呵) 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對於第一條而言,我們在代碼的目錄下開啟終端,或者用cd切換到該終端下,然後輸入$ctags -R,我們可以看到此時產生了一個tags檔案,然後我們使用第二條命令比如輸入$vim -t main 它表示我們用vim開啟該目錄下的main函數,接下來應該就能在終端看到main函數了,如果想要尋找某一個函數,或者變數,的定義,我們可以直接將游標移至該處,然後按下“Ctrl+]”,這樣就能直接跳到這個變數或函數定義的源檔案中,並把游標定位到這一行。用“Ctrl+t”可以退回原來的地方。即使使用者使用了N次“Ctrl+]”尋找了N個變數,按N次“Ctrl+t”也能回到最初開啟的檔案,它會按原路返回 。 ^_^ 接下來我們來看看怎麼在ubuntu下手動設定vim,下面介紹一種常用的方法首先我們可以在自己的主資料夾下,建立一個.vimrc檔案,該檔案是預設隱藏的,所以我們要用Chrl+H按鍵組合來顯示它,然後就是在裡面設定自己的vim一些配置用法,如果說你也跟我一樣暫時只是vim看代碼方便,那麼我建議你設定一些基本的功能:用gedit .vimrc開啟然後輸入:set syntax=on"色彩配置colorscheme torte" 去掉輸入錯誤的提示聲音set noeb" 在處理未儲存或唯讀檔案的時候,彈出確認set confirm" 自動縮排set autoindentset cindent" 自動換行set wrap" 整詞換行set linebreak" Tab鍵的寬度set tabstop=4" 統一縮排為4set softtabstop=4set shiftwidth=4" 不要用空格代替定位字元set noexpandtab" 在行和段開始處使用定位字元set smarttab" 顯示行號set number" 記錄數set history=1000"禁止產生臨時檔案set nobackupset noswapfile"搜尋忽略大小寫set ignorecase"搜尋逐字元高亮set hlsearchset incsearch"行內替換set gdefault"編碼設定set enc=utf-8set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936"語言設定set helplang=cnset encoding=utf8 set langmenu=zh_CN.UTF-8 set imcmdline source $VIMRUNTIME/delmenu.vim source $VIMRUNTIME/menu.vim" 設定字型。set guifont=Liberation\Mono\ 12 "set guifont=Fixedsys\Excelsior\3.01\ 14 let Tlist_Show_One_File = 1 "不同時顯示多個檔案的tag,只顯示當前檔案的 let Tlist_Exit_OnlyWindow = 1 "如果taglist視窗是最後一個視窗,則退出vim let Tlist_Use_Right_Window = 1 "在右側視窗中顯示taglist視窗 let Tlist_Auto_open = 1 "如果你想在啟動VIM後,自動開啟taglist視窗 然後儲存。接下來就是安裝taglist外掛程式,注意taglist依賴於ctags,所以要先裝ctags,否則taglist裝了也沒法用! 到http://vim.sourceforge.net/scripts/download_script.php?src_id=6416該地址下去找到taglist的安裝包然後解壓,這裡其實可以滑鼠右鍵,看到有個命令選項,直接解壓到此處,點擊就行了,而不用裝B的去採用命令# unzip -d taglist taglist_42.zip# cd taglist來解壓。 之後我們輸入命令:cp doc/taglist.txt /usr/share/vim/vim73/doc/cp plugin/taglist.vim /usr/share/vim/vim73/plugin/每個人的vim版本不同,所以你的可能是別的版本vim**,不一定是73。這樣就完成了在原始碼處jason@ubuntu:~/lidar/3530/working-copy$ vim 3dMapping_thread.cpp 開啟源檔案,然後輸入TlistOpen在右邊出現tag欄,右邊的視窗就是前面介紹的TagList視窗, 其中列出了main.c檔案中的tag, 並且按照"typedef", "variable", "function"等進行了分類. 將游標移到VimMain上, 中左邊紅色的方框, 按下斷行符號後, 來源程式會自動跳轉到VimMain的定義處, 中右邊的紅色方框. 這就是TagList最基本也是最常用的操作. 再教你一個常用的操作, 你在瀏覽TagList視窗時, 如果還不想讓源碼跳轉, 但是想看看tag在源碼中完整的表達, 可以將游標移到你想要看的tag上, 中上邊黃色的方框, 然後按下空格鍵, 在下面的命令欄中, 下邊黃色的方框, 會顯示該tag在源碼中完整的寫法, 而不會跳轉到源碼處. 輸入:q推出taglist, 輸入:TlistOpen在原始碼和tag之間切換。接下來安裝WinManage外掛程式顯示目錄到http://www.vim.org/scripts/script.php?script_id=95下載外掛程式,然後解壓,然後;sudo cp winmanager.txt /usr/share/vim/vim73/doc/sudo cp winfileexplorer.vim /usr/share/vim/vim73/plugin/sudo cp winmanager.vim /usr/share/vim/vim73/plugin/sudo cp wintagexplorer.vim /usr/share/vim/vim73/plugin/ 然後在.vimrc中輸入:let g:winManagerWindowLayout='FileExplorer|TagList'nmap wm :WMToggle<cr>,搞定。接下來試試效果:jason@ubuntu:~$ vim 3dMapping_thread.cpp然後正常模式按下wm,會看到左邊顯示兩個視窗,目錄和taglist。在按下wm就消失了,每次都是按entel鍵開啟相應的函數或者目錄。:TlistOpen和:q之間切換。