Ubuntu下將VIM改造成IDE

來源:互聯網
上載者:User

本文轉自http://blog.sina.com.cn/s/blog_7745fc86010147h6.html

摘自http://blog.csdn.net/wooin/article/details/1858917,和http://kelaocai.iteye.com/blog/105853

首先我們安裝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 autoindent
set cindent
" 自動換行
set wrap
" 整詞換行
set linebreak
" Tab鍵的寬度
set tabstop=4
" 統一縮排為4
set softtabstop=4
set shiftwidth=4
" 不要用空格代替定位字元
set noexpandtab
" 在行和段開始處使用定位字元
set smarttab
" 顯示行號
set number
" 記錄數
set history=1000
"禁止產生臨時檔案
set nobackup
set noswapfile
"搜尋忽略大小寫
set ignorecase
"搜尋逐字元高亮
set hlsearch
set incsearch
"行內替換
set gdefault
"編碼設定
set enc=utf-8
set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936
"語言設定
set helplang=cn
set 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之間切換。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.