標籤:
這個主題看起來有點土,你是個程式猿,竟然成天就會配置,搭建,編譯,玩vim。你混了快10年,你寫代碼的功力呢?說來也慚愧,為什麼要寫這個,因為這個編譯困擾了我兩天時間。話說回來,就算米國矽谷也有我這樣的,哈哈。
如果你系統的python很純淨,就一個2.7以上的,那麼此文沒有什麼價值,如果你的系統python種類繁多,那麼不妨看看我的文章。這裡面我可是查了搜尋引擎,一點一點搞的。
先說下我的系統,系統是redhat5.3,64bit的。系統內建了python2.4.3 64bit。root使用者還裝了個python2.7 也是64bit。我們生產系統安裝包都是採用32bit編譯(落後吧),因此在環境變數裡還有一個python2.7 是32bit版本的。命令列鍵入,預設會使用32bit版本。
但是vim編譯則不然,vim自己configure --prefix=$HOME這類的,會自行尋找/usr/local 這類的目錄。如果vim開python則要尋找python2.7/config/config.c檔案。我沒找到32bit python目錄有這個.c檔案,但在/usr/local/lib/python2.7/config 找到了。於是相當於我找了64bit python源碼config.c,利用32bit的二進位lib進行vim的編譯。
可想而知我做到這一步的時候我是如何費勁腦汁了。我就是沒root,我要是有root許可權,我yum install,(rm -rf *?哈哈)
下面就是我vim7.4的詳細配置,開python要命啊...(解包進入vim74目錄)
vi_cv_path_python=/home/XXX/soft/Python-2.7/bin/python ./configure prefix=/home/XXX/bin --with-features=huge --enable-cscope --enable-pythoninterp --with-python-config-dir=/usr/local/lib/python2.7/config --with-local-dir=/home/XXX/soft/Python-2.7 --disable-selinux
configure成功後,會產生Makefile,然後make;make install
詳細說明下,
vi_cv_path_python 是32bit可執行檔位置
prefix 是安裝vim路徑
--with-features 是vim支援功能大小,我選擇最大,畢竟要支援multibyte等功能
--enable-cscope 是我喜歡的cscope外掛程式
--disable-selinux 是網友告知的,不加就有幾個warning
--enable-pythoninterp 不必多講
--with-python-config-dir 就是config.c和Makefile所在的目錄
--with-local-dir 是32bit python lib所在的目錄
Bingo,搞定!
vim編譯(帶python的)