標籤:
一、準備工作
1、下載Vim74和適合7.4版本的vim-gdb:
(1)vim7-4.tar.bz2
(2)vimgdb-for-7.4
2、卸載已存在的vim以及相關組件
如果已經通過軟體中心安裝了vim,則需要將其卸載
sudo apt-get remove vim vim-runtime gvim
可能還需要移除以下的包:
sudo apt-get remove vim-tiny vim-common vim-gui-common
3、安裝依賴環境
手動編譯安裝Vim74,首先先安裝編譯所需的依賴庫和標頭檔。
sudo apt-get build-dep vim
然後再編譯,如果依賴問題沒有解決可能會出現這個提示:
no terminal library found checking for tgetent()... configure: error: NOT FOUND! You need to install a terminal library; for example ncurses. Or specify the name of the library with --with-tlib.
也可手動安裝以下的庫等解決依賴,為了保險起見,最好還是執行一下。
sudo apt-get install libncurses5-dev libgnome2-dev libgnomeui-dev libgtk2.0-dev libatk1.0-dev libbonoboui2-dev libcairo2-dev libx11-dev libxpm-dev libxt-dev python-dev ruby-dev mercurial
二、不需要vimgdb的Vim安裝
將下載的vim74源碼包解壓出來,進入解壓出來的檔案目錄,編譯
cd ~/downloads/vim74/ ./configure --with-features=huge --enable-rubyinterp --enable-pythoninterp --with-python-config-dir=/usr/lib/python2.7/config-x86_64-linux/ --enable-perlinterp --enable-gui=gtk2 --enable-cscope --enable-luainterp --enable-multibyte --enable-xim --prefix=/usr
參數說明:
--with-features=huge:支援最大特性
--enable-rubyinterp:啟用Vim對ruby編寫的外掛程式的支援
--enable-pythoninterp:啟用Vim對python編寫的外掛程式的支援
--enable-luainterp:啟用Vim對lua編寫的外掛程式的支援
--enable-perlinterp:啟用Vim對perl編寫的外掛程式的支援
--enable-multibyte 和 --enable-xim:需要在Vim中輸入中文,開啟這兩個特性
--enable-cscope:Vim對cscope支援
--enable-gui=gtk2:gtk2支援,也可以使用gnome,表示產生gvim
--with-python-config-dir=/usr/lib/python2.7/config-x86_64-linux-gnu/ 指定 python 路徑,這是python2在ubuntu64位機子上的路徑,32位應該為/usr/lib/python2.7/config-i386-linux-gnu/
--prefix=/usr:設定編譯安裝路徑,注意自己是否有許可權訪問。
如果configure出錯,先用make distclean清除之前configure產生的檔案再configure。
最後make一下然後安裝,因為設定的路徑/usr普通使用者不具有寫入許可權,所以需要以sudo來安裝。
可以不指定VIMRUNTIMEDIR,則只要執行make就好。
make VIMRUNTIMEDIR=/usr/share/vim/vim74
sudo make install
如果想要卸載,suo make uninstall以下就好。
檢驗自己是否安裝成功,可以運行vim --version來看看,可以檢查某些特性是否已經開啟。有加號的表示特性已開啟。
三、帶有vimgdb的vim安裝 1、安裝vim
將vim74的源碼包和vimgdb的補丁包都解壓到ome的Downloads下
:~/Downloads$ ls vim74 vim-7.4.tar.bz2 vimgdb-for-vim7.4-master vimgdb-for-vim7.4-master.zip
然後切換到目前的目錄下,打補丁
patch -p0 < vimgdb-for-vim7.4-master/vim74.patch
接下來切入到vim74/src,make安裝。
cd vim74/src make sudo make install
預設的目前的目錄下Makefile設定的特性等都能滿足一般需求,如果需要添加路徑或做些修改等,只要對這個檔案進行編輯就好。我將裡面的路徑改動了,因為預設的/opt/bin這個路徑不在我的$PATH裡面,而預設卻將vim的bin檔案放在這裡,導致執行vim會找不到命令。如果不作修改,可以將此路經添加到$PATH裡面就好。
開啟之,搜尋/opt,按照注釋的說明,將BINDIR, MANDIR, DATADIR這三行注釋掉即可。改完之後的這三行如下:
# Uncomment the next line to install Vim in "/usr/bin"
#BINDIR = /opt/bin
# Uncomment the next line to install Vim manuals in "/usr/share/man/man1"
#MANDIR = /opt/share/man
# Uncomment the next line to install Vim help files in "/usr/share/vim"
#DATADIR = /opt/share
然後make安裝。我在我的ubuntu上雖然安裝成功,但是執行vim失敗,出現“Vim:Caught deadly signal ABRT”之類的錯誤。解決方案是在make是添加CFLAGS="-O2 -D_FORTIFY_SOURCE=1",則為:
make CFLAGS="-O2 -D_FORTIFY_SOURCE=1"
然後再執行sudo make install,則最後將vim安裝到/usr/local/share/vim/vim74下。
如果想要通過執行configure設定一些特性和安裝路徑,那麼記得加--enable-gdb,且是在vim74/src目錄下執行,不是上面不添加vimgdb的直接在vim74目錄下執行configure
./configure --with-features=huge --enable-rubyinterp --enable-pythoninterp --with-python-config-dir=/usr/lib/python2.7/config-x86_64-linux/ --enable-perlinterp --enable-gui=gtk2 --enable-cscope --enable-luainterp --enable-multibyte --enable-xim --enable-gdb --prefix=/usr
再檢查一下Makefile裡面的BINDIR, MANDIR, DATADIR ,保證將它們三行注釋了。然後make,添加VIMRUNTIMEDIR,以及安裝:
make VIMRUNTIMEDIR=/usr/share/vim/vim74 CFLAGS="-O2 -D_FORTIFY_SOURCE=1" sudo make install
最後安裝完了的vim的目錄在/usr/share/vim/vim74下。
運行vim --version檢查以下gdb這一項特性前是否有加號,如果有,則表示vimgdb安裝成功。
2、安裝vimgdb運行環境
將vimgdb-for-vim7.4-master/vimgdb_runtime下的檔案複製到運行時路徑(runtime path)。可以在vim裡面執行:set runtimepath?來找到runtimepath。通過執行echo $VIMRUNTIME來查看安裝路徑。可以看到有好幾個路徑,~/.vim是目前使用者下的,/usr/share/vim/vim74是所有使用者的(這是設定了安裝路徑之後的,預設的路徑應該在/usr/share/vim/vim74)。
然後切換到剛才選擇將vim runtime路徑,開啟vim,執行“:helptags .”(注意,沒有引號,helptags後面有一個空格和點,點表示目前的目錄。),這樣就能使用“:help vimgdb”來開啟vimgdb的協助文檔。
四、參考文檔
1、Building Vim from source
2、vimgdb-for-vim7-4
3、vi/vim使用進階: 在VIM中使用GDB調試 – 使用vimgdb
4、添加vimgdb導致vim雖成功安裝卻不能啟動並執行解決辦法
5、vim crashes on startup when compiled with -O3 but works with -O2
Ubuntu14.04下編譯安裝Vim74+Vim-gdb