vim 7.4同时支持python 2.x和3.x问题调研
我一開始懷著美好的愿望,希望vim能完美支持Python2和Python 3,所以,我在源碼編譯vim 7.4時(shí)加入了對(duì)Python這兩個(gè)版本的支持。
另外,我也安裝了YouCompleteMe插件,但是使用vim時(shí)我看到vim的抱怨
下面是我的調(diào)研,Vim的幫助文件中這樣描述:
Vim 7.4源碼可以用四種方式編譯 (:version輸出結(jié)果):?
1. 無 Python 支持 (-python、-python3)?
2. 只有 Python 2 支持 (+python 或 +python/dyn、-python3)?
3. 只有 Python 3 支持 (-python、+python3 或 +python3/dyn)?
4. Python 2 和 3 支持 (+python/dyn、+python3/dyn)
目前我遇到下面的問題:
vim --version | grep python
得到+python/dyn和+python3/dyn,但是在
:echo has('python')命令行卻輸出0而非1
:echo has('python3')命令行卻輸出0而非1
在vim命令模式下面運(yùn)行
:h python-2-and-3
我們得到下面的說明:
所以要么加載global symbols只激活一個(gè)Python版本,要么不導(dǎo)入全局符號(hào),這會(huì)導(dǎo)致Python導(dǎo)入vim提供的全局符號(hào)的相關(guān)庫(kù)的import出錯(cuò)。
結(jié)論
最后,沒有辦法,為了減少麻煩,還是讓vim支持Python的一個(gè)版本吧
重新編譯安裝vim
進(jìn)入vim源碼目錄,先卸載vim,再清除原有配置
cd vim74/src ?
make uninstall ? //vim卸載了
make clean ?
rm -f src/auto/config.cache
重新編譯安裝,只支持Python 2.7.x
./configure --with-features=huge --enable-pythoninterp --with-python-config-dir=/usr/local/python2710/lib/python2.7/config --enable-rubyinterp --enable-perlinterp --enable-luainterp --with-lua-prefix=/usr --enable-cscope ?--enable-multibyte ?--enable-gui=auto --enable-xim ?--with-x --enable-fontset --enable-sniff --disable-selinux?
make ?
make install
驗(yàn)證Python版本支持情況
vim --version | grep python
然后打開一個(gè)文件
vim old.vimrc
在命令行輸入
:echo has('python')命令行為1
:echo has('python3')命令行為0
這就達(dá)到了我們的要求
參考文獻(xiàn)
http://www.linuxidc.com/Linux/2015-04/116471.htm
http://tieba.baidu.com/p/2977752030 ? 這個(gè)有啟發(fā)
總結(jié)
以上是生活随笔為你收集整理的vim 7.4同时支持python 2.x和3.x问题调研的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在CentOS 6.3 64bit上安装
- 下一篇: /usr/lib64/libstdc++