我使用Vim作为我所有Django项目的主编辑器/ IDE。使用YouCompleteMe,syntastic和其他几个插件。经历太棒了。
我决定用python3开始所有新项目,因为世界正在转向Py3K。但是对于这两个版本的python,vim并没有正确播放。
我用两个版本的python编译。
vim --version | grep python
+cryptv +linebreak +python/dyn +viminfo
+cscope +lispindent +python3/dyn +vreplace
YouCompleteMe还不支持python3。 jedi-vim适用于这两个版本,但我不仅仅是正确的。
通常没有任何插件我可以调用任何py / py3命令。但启用jedi-vim会自动调用系统python2。
我使用Vundle作为vim插件管理器。
如果您愿意分享您的vimrc /其他配置/解决方法,请将vim用于python3开发(或两个版本),这对我非常有用。
感谢。
答案 0 :(得分:5)
正如其他人在评论中指出的那样,为了切换到Python3,你不需要在Vim配置方面做太多改变。你需要做的是识别使用嵌入式Python的插件,找出哪些插件支持Python2和Python3,并告诉他们更喜欢Python3,并逐步淘汰只适用于Python2的插件。
对于我正在使用的插件:
let g:gundo_prefer_python3 = 1
let g:jedi#force_py_version = 3
let g:syntastic_python_python_exec = 'python3'
,并安装所有检查器的Python3版本let g:pymode_python = 'python3'
另外,如果您计划使用 py
和py3
命令编辑VimL文件,那就太好了:安装优秀的SyntaxRange,并将其添加到after/syntax/vim.vim
:
<德尔> call SyntaxRange#Include('\C\v<py\%(thon)?3?\s+\<\<\s*[A-Z]{3,}\zs$', '\C\v^[A-Z]{3,}$', 'python')
德尔>
答案 1 :(得分:0)
对于那些仍然需要切换到Python 3的人来说,这就是我的发现。
Vim可以在Python 2和Python 3的支持下进行编译,但是它将动态加载仅Python的1个版本,以先到者为准。这意味着如果您有一些需要Python的插件,则第一个会要求使用特定的Python版本。
那么我们如何才能强制将要加载vim的Python版本?我们将这些行放在.vimrc
if has('python3')
endif
这样做需要您自担风险,因为它可能会破坏您的插件。