【问题标题】:vim as a python idevim 作为 python ide
【发布时间】:2013-01-25 18:15:06
【问题描述】:

最新版本的 emacs 中集成了 Python 支持。例如,C-c C-z 为我提供了一个解释器,C-c C-c 自动解释我正在处理的文件,而无需移动到另一个缓冲区。 (虽然emacs的方法有一些缺点)

这可以在 vim 中实现,还是像在 emacs 中一样简单,只需两次击键?我知道我可以使用 :python 评估表达式,但这并不是我想要的。

【问题讨论】:

    标签: python vim


    【解决方案1】:

    要在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 解释器!

    【讨论】:

      【解决方案2】:

      要使用击键,请参阅mapping keys in vim

      【讨论】:

        【解决方案3】:

        是的,我花了一些时间扩展 Vim 来做到这一点。我的大部分尝试都可以在 subversion 存储库中找到。请参阅vim tree

        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 实例。

        【讨论】:

          猜你喜欢
          • 2012-04-15
          • 2014-06-02
          • 2014-04-19
          • 2011-03-16
          • 1970-01-01
          • 1970-01-01
          • 2021-01-13
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多