Mac中安裝Vim7.4



Mac上的Vim
Mac本身其實是預裝了Vim的,但是目前的系統中都是Vim7.3版本的,而最新的Vim已經是7.4版了,因此為了能夠使用最新版的vim,必須要對Mac中的vim要么升級,要么重裝。在折騰過程中,遇到了一些問題,這里記錄,以鑒后人。
可選方案
升級原生的Vim7.3
這種方法貌似是最”干凈”的,不會引入其他任何多余的東西,對於有潔癖的人這應該是一種比較好的方案。但是,這個方案也有缺點,那就是它會覆蓋原生的Vim,會改變系統的默認設置,並且一旦升級過程中出現了問題,那你就再也沒有可用的vim了。另外一個問題是,以后當你系統升級的時候,很有可能你自己的vim又會被新系統的vim給覆蓋,這樣會比較麻煩。
使用MacVim
這是一種比較好的方案,Vim官網上也是推薦使用這種方案的,MacVim是針對Mac系統特別定制的Vim版本,安裝過程也很簡單,網上一搜一大把。它功能上和vim完全一致,不會有任何的問題。要說這種方案其實已經算是一個完美的解決方案了,但是它有一點不太方便的地方,那就是不能直接在終端中使用vim,每次使用MacVim的時候都會單獨開啟一個窗口,有點類似於windows中的gvim。而我個人是比較習慣在終端中寫代碼的,因此這個方案還是不能滿足我的需求。
自己編譯
這是一種終極的方案,但是自己編譯的時候注意要手動更改默認的安裝目錄,不然它就會覆蓋原生的vim7.3,這樣就會變成第一種方案了。將vim7.4安裝在其他目錄,然后在.bash_profile中添加一個vim命令的別名,將其指向新安裝的vim7.4的目錄,而不是原生的vim7.3目錄。這個方案就能在終端中直接使用vim7.4了,並且不會對原生的vim7.3又任何影響。這個方案唯一的缺點大概就是會在系統中產生兩個不同版本的vim了,這也許對一些有潔癖的人是難以接受的。
我自己最終選擇了第三套方案,也就是自己編譯新版本的vim.
重新編譯
好了,現在讓我們開始折騰吧。

  • 首先上vim的官網下載vim7.4的源文件,地址是:http://www.vim.org/sources.php
  • 新建目錄/opt/loacl,這個目錄就是用來存放我們新安裝的vim7.4的,你也可以建立其他的目錄,這里只是一個示例。
  • 進入vim的源文件目錄中,在終端中運行命令:

./configure --with-features=huge --enable-pythoninterp=yes  --enable-cscope --enable-fontset --enable-perlinterp --enable-rubyinterp --with-python-config-dir=/usr/lib/python2.6/config --prefix=/opt/local
這個命令是完成對vim的一些配置選項,啟用了python和ruby的支持特性,這還是比較重要的,因為vim中有些插件會使用python和ruby的,如果沒有開啟這些特性,有些插件是無法運行的。在這些配置命令中,最后一個--prefix=/opt/local是用來指明安裝目錄的,你也可以修改成你自己的目錄。
在寫配置命令的時候,需要注意的是,不能寫上--enable-gui,這是開啟gui特性的,但是我們是在終端環境下安裝的,因此不能開啟這個特性,否則會出現編譯錯誤。

  • 在終端中執行make命令.在make過程中,會出現一個錯誤,如下所示:

:info:build os_unix.c:830:46: warning: declaration of 'struct sigaltstack' will not be visible outside of this function [-Wvisibility]
:info:build         extern int sigaltstack __ARGS((const struct sigaltstack *ss, struct sigaltstack *oss));
:info:build                                                     ^
:info:build ./os_unix.h:88:21: note: expanded from macro '__ARGS'
:info:build #  define __ARGS(x) x
:info:build                     ^
:info:build os_unix.c:830:13: error: conflicting types for 'sigaltstack'
:info:build         extern int sigaltstack __ARGS((const struct sigaltstack *ss, struct sigaltstack *oss));
:info:build                    ^
:info:build /usr/include/signal.h:89:5: note: previous declaration is here
:info:build int     sigaltstack(const stack_t * __restrict, stack_t * __restrict)  __DARWIN_ALIAS(sigaltstack);
:info:build         ^
:info:build 1 warning and 1 error generated.
:info:build make[1]: *** [objects/os_unix.o] Error 1
:info:build make[1]: *** Waiting for unfinished jobs….)
解決方案也很簡單,只需要在os_unix.h中加上#include <AvailabilityMacros.h>就可以了。

  • 執行make install.執行完成之后,vim7.4就安裝完成了。
  • 添加vim命令的別名,在.bash_profile中添加一行alias vim='/opt/local/bin/vim',然后在終端中執行source ~/.bash_profile

好了,現在你的Mac系統已經安裝好了vim7.4了,現在可以開始愉快的工作了。
參考資料

  • http://stackoverflow.com/questions/7211820/update-built-in-vim-on-mac-os-x
  • http://www.jokerlin.us/2014/04/13/Vim74.html
  • http://trac.macports.org/ticket/41774

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM