vim 7.4同时支持python 2.x和3.x问题调研
我一開始懷著美好的愿望,希望vim能完美支持Python2和Python 3,所以,我在源碼編譯vim 7.4時加入了對Python這兩個版本的支持。
另外,我也安裝了YouCompleteMe插件,但是使用vim時我看到vim的抱怨
下面是我的調研,Vim的幫助文件中這樣描述:
Vim 7.4源碼可以用四種方式編譯 (:version輸出結果):?
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命令模式下面運行
:h python-2-and-3
我們得到下面的說明:
所以要么加載global symbols只激活一個Python版本,要么不導入全局符號,這會導致Python導入vim提供的全局符號的相關庫的import出錯。
結論
最后,沒有辦法,為了減少麻煩,還是讓vim支持Python的一個版本吧
重新編譯安裝vim
進入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
驗證Python版本支持情況
vim --version | grep python
然后打開一個文件
vim old.vimrc
在命令行輸入
:echo has('python')命令行為1
:echo has('python3')命令行為0
這就達到了我們的要求
參考文獻
http://www.linuxidc.com/Linux/2015-04/116471.htm
http://tieba.baidu.com/p/2977752030 ? 這個有啟發
總結
以上是生活随笔為你收集整理的vim 7.4同时支持python 2.x和3.x问题调研的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在CentOS 6.3 64bit上安装
- 下一篇: /usr/lib64/libstdc++