Vim作为Python IDE

5
Python支持已经集成在最新版本的emacs中。例如,C-c C-z为我提供了一个解释器,C-c C-c会自动解释我正在工作的文件而无需移动到其他缓冲区。(尽管emacs的方法存在一些缺点)
在vim中是否也可以做到这一点,或者只需要像在emacs中那样轻松地完成两个按键操作?我知道我可以使用:python来计算表达式,但这并不完全是我想要的。
3个回答

11
要在Python中执行当前文件,可以使用命令:!python %。您可以通过编辑vimrc将其绑定到键盘快捷方式。例如,将nnoremap \ll :!python %<cr>添加到vimrc中,当您在正常模式下键入\ll时,将在Python中执行当前文件。(* 更多详细信息请参见脚注)。
vim-ipython插件允许您在vim中打开一个ipython窗口。您可能还对tmux感兴趣,它允许您将终端分为两个部分,垂直地(这样您就可以并行运行shell和vim)。
有许多插件可以将vim转换为非常好的Python IDE。 "pyflakes"自动突出显示语法错误,是我特别喜欢的插件之一。
此博客文章详细描述了适用于Python的vim插件: http://sontek.net/blog/detail/turning-vim-into-a-modern-python-ide (*) 顺便说一句,您可能希望将此命令限定为Python文件(在Python解释器中执行C ++源代码没有太多意义)。这可以通过将其放入您的.vim / ftplugin目录中的特定python.vim文件中,或通过编写实现。
autocmd FileType python nnoremap \ll :!python %<cr>

在你的 .vimrc 文件中进行绑定,这样,你可以将键盘快捷键 \ll 绑定到不同类型文件的不同操作上。

另外提一句,如果你只想执行当前文件的某个部分,请使用可视化模式(SHIFT+v)选择相关行,并键入 :!python % 命令。所选行将被传送至 Python 解释器!


0

是的,我花了一些时间扩展Vim以实现这一点。我的大部分尝试都可以在一个子版本库中找到。请参见vim树

Vim还可以编译为带有嵌入式Python解释器,您可以使用它来评估缓冲区中的代码行,或使用Python添加新功能。尝试:help python获取详细信息。

我使用X Windows,因此其中的大多数在该环境中工作,并从Vim调用一个外壳包装器,看起来像这样:

1 $ cat bin/xpython

#!/bin/sh

if [ $# -gt 0 ] ; then
    urxvt -title Python2 -name Python -e python -i "$@"
else
    urxvt -title Python2 -name Python -e bpython
fi

所以在Gvim中,您可以运行xpython而不仅仅是python,将其映射到一个键(请参见源代码)。这将打开一个新的终端窗口,其中包含一个新的Python实例,用于运行您的代码。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接