編譯安裝帶有vimgdb調試器的VIM

安裝環境:UBUNTU10.04LTS,而且已經通過sudo apt-get installvim安裝好了源裏的VIM

通過UBUNTU源安裝的VIM不帶有GDB調試功能,下面自己編譯安裝一個帶有GDB調試功能的VIM
【安裝相應庫】
安裝編譯工具
sudo apt-get install build-essential
安裝編譯vim-gtk的依賴包
sudo apt-get build-dep vim-gtk
安裝ncurses開發包
sudo apt -get install libncurses5-dev
如果不安裝ncurses開發包,make時會產生如下錯誤:
no terminal library found
checking for tgetent()... configure: error: NOT FOUND!
      Youneed to install a terminal library; for example ncurses.
      Orspecify the name of the library with --with-tlib. 
【下載源碼】
首先我們需要下載VIM的源碼。到http://www.vim.org/sources.php下載當前最新的VIM7.2的源代碼,假設我們把代碼放到~/install/目錄,文件名爲vim-7.2.tar.bz2
【下載vimgdb補丁】

接下來,我們需要下載vimgdb補丁,下載頁面在:

http://sourceforge.net/project/showfiles.php?group_id=111038&package_id=120238

在這裏,選擇vim7.2的補丁,把它保存到~/install/vimgdb72-1.14.tar.gz

【打補丁】

運行以下命令,解壓VIM源碼,並打上補丁

cd ~/install

tarxjvf vim-7.2.tar.bz2,會在~/install目錄下生成一個vim72目錄

tar xzvf vimgdb72-1.14.tar.gz,會在~/install目錄下生成一個vimgdb目錄

patch-d vim72 --backup -p0 <vimgdb/vim72.diff

【定製VIM功能】

 

缺省的VIM配置已經適合大多數人,但有些時候你可能需要一些額外的功能,這時就需要自己定製一下VIM。定製VIM很簡單,進入~/install/vim72/src文件,編輯Makefile文件。這是一個註釋很好的文檔,根據註釋來選擇:

cd ~/install/vim72/src

sudo vim Makefile

然後修改配置

-gtk2支持,也能使用gnome,打開--enable-gui=gkt2

-最大特性支持,打開--with-features=huge(必須打開,否則編譯成功vim,運行後設置語法高亮時,產生如下錯誤

Vim: Caught deadly signal ABRT

 Vim:Finished.

 Aborted)

 如果你想把perl,python, tcl, ruby等接口編譯進來的話,打開相應的選項,例如,我打開了--enable-tclinterp選項;

如果你想在VIM中使用cscope的話,打開--enable-cscope選項;

我們剛纔打的vimgdb補丁,自動在Makefile中加入了--enable-gdb選項;

如果你希望在vim使用中文,使能--enable-multibyte--enable-xim選項;

可以通過--with-features=XXX選項來選擇所編譯的VIM特性集,缺省是--with-features=normal

如果你沒有root權限,可以把VIM裝在自己的home目錄,這時需要打開prefix = $(HOME)選項;這裏我打開了這一項,把VIM安裝在home目錄下。

 編輯好此文件後,就執行可以編輯安裝vim了。如果你需要更細緻的定製VIM,可以修改config.h文件,打開/關閉你想要的特性。

【編譯安裝】

在~/install/vim72/src目錄下

執行 makeCFLAGS="-O2 -D_FORTIFY_SOURCE=1",執行make時,加上CFLAGS="-O2-D_FORTIFY_SOURCE=1"選項,如果直接執行make,VIM也能編譯成功,但運行時會出現“Vim:Caught deadly signal ABRT”錯誤,具體請參考“http://forum.ubuntu.org.cn/viewtopic.php?f=122&t=240806

make執行完成之後,安裝編譯好的VIM,在~/install/vim72/src目錄下執行如下命令

sudo make install

這樣,VIM就被安裝到了~/bin目錄下,其它相關文件在~/share/vim目錄下

~/bin目錄的內容

 

stuyou@UBUNTU:~$ ls -albin

total 1780

drwxr-xr-x  2 root  root     4096 2010-05-23 23:43 .

drwxr-xr-x 42 stuyou stuyou   4096 2010-05-24 00:03 ..

lrwxrwxrwx  1 root  root        3 2010-05-23 23:43 eview-> vim

lrwxrwxrwx  1 root  root        3 2010-05-23 23:43 evim-> vim

lrwxrwxrwx  1 root  root        3 2010-05-23 23:43 ex-> vim

lrwxrwxrwx  1 root  root        3 2010-05-23 23:43 gview-> vim

lrwxrwxrwx  1 root  root        3 2010-05-23 23:43 gvim-> vim

lrwxrwxrwx  1 root  root        3 2010-05-23 23:43 gvimdiff-> vim

-rwxr-xr-x  1 root  root      143 2010-05-23 23:43 gvimtutor

lrwxrwxrwx  1 root  root        3 2010-05-23 23:43 rgview-> vim

lrwxrwxrwx  1 root  root        3 2010-05-23 23:43 rgvim-> vim

lrwxrwxrwx  1 root  root        3 2010-05-23 23:43 rview-> vim

lrwxrwxrwx  1 root  root        3 2010-05-23 23:43 rvim-> vim

lrwxrwxrwx  1 root  root        3 2010-05-23 23:43 view-> vim

-rwxr-xr-x  1 root  root   1789364 2010-05-23 23:43vim

lrwxrwxrwx  1 root  root        3 2010-05-23 23:43 vimdiff-> vim

-rwxr-xr-x  1 root  root     2084 2010-05-23 23:43 vimtutor

-rwxr-xr-x  1 root  root     139002010-05-23 23:43 xxd

VIM編譯安裝成功

安裝vimgdbruntime文件

運行下面的命令,解壓vimgdbruntime文件到你的~/.vim/目錄,如果沒有~/.vim目錄,則執行命令mkdir~/.vim創建

cd~/install/vimgdb/
tar zxf vimgdb_runtime.tgz –C~/.vim/

切換到~/bin目錄下,啓動我們自己編譯的VIM,注意:這是不能直接通過輸入VIM命令來啓動剛纔編譯的VIM,因爲在編譯安裝VIM之前,已經通過UBUNTU的源安轉過了VIM,所以要想啓動剛纔編譯安裝的VIM,應該進入到~/bin目錄下,通過如下方式啓動

 stuyou@UBUNTU:~$cd ~/bin

stuyou@UBUNTU:~/bin$ ./vim

VIM中運行下面的命令以生成幫助文件索引:

 :helptags~/.vim/doc

  現在,你可以使用“:help vimgdb”命令查看vimgdb的幫助了。

 至此,我們重新編譯了VIM,併爲之打上了vimgdb補丁

 【簡單配置VIM】

編譯安裝的VIM,不能高亮顯示C語言語法,不能顯示行號,對gdb的按鍵沒有映射。因此爲了實現上述配置,在~目錄下建立.vimrc文件

vim ~/.vimrc

然後輸入以下內容:

  nmap <F2> :run macros/gdb_mappings.vim<CR>

syntax on

set nu

保存退出
【把編譯的VIM代替先前的VIM】
執行如下命令,就可以把自己編譯的VIM,代替以前安裝的VIM,以後啓動VIM時,就不需要在切換到~/bin目錄下,直接輸入VIM,就可以啓動自己編譯的VIM
sudo rm /etc/alternatives/vim 
sudo rm /etc/alternatives/vimdiff
sudo ln -s ~/bin/vim /etc/alternatives/vim 
sudo ln -s ~/bin/vimdiff /etc/alternatives/vimdiff 
【程序調試】

 假設在家目錄下建立test.c測試文件,內容如下:

#include <stdio.h>

int main()
{
printf("Hello World!!!\n");
return 0;
}
在家目錄下創建Makefile文件,內容如下:
test:test.c
      gcc -g -o test test.c
然後用VIM打開test.c,假設VIM的當前工作目錄爲~(如果不是,使用:cd ~命令切換)
在VIM中,輸入命令:make,使用Makefile對test.c進行編譯,如果編譯出錯,VIM會跳到第一個出錯的位置,改完後,用“:cnext”命令跳到下一個錯誤,以此類推。
現在,假設已經完成鏈接,生成了最終的test文件,
好了,我們現在按空格鍵,在當前窗口下方會打開一個小窗口(command-line窗口),這就是vimgdb的命令窗口,可以在這個窗口中輸入任何合法的gdb命令,輸入的命令將被送到gdb執行。現在,我們在這個窗口中輸入“gdb”,按回車後,command-line窗口自動關閉,而在當前窗口上方又打開一個窗口,這個窗口是gdb輸出窗口。

 

 

個人:

經過以上步驟後一般打開程序後就可以使用

f2  加載綁定

f7 調試模式與正常編輯模式的轉邊

{

調試程序一般步驟:


1要運行::run macros/gdb_mappings.vim  也就是按f2
2變量 :bel 20vsplit gdb-variables                   變量顯示窗口 bel:右邊新建  f7可以調試模式與正常編輯模式的轉邊
3加載文件 file sample                                       按空格鍵會自動跳到gdb命令編輯
4查看指針變量 createvar *r                             

}

參照之二:

Vim插件把vim改裝成一個IDE編程環境


發佈了208 篇原創文章 · 獲贊 21 · 訪問量 27萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章