Vim:在持久的REPL环境中运行选定的代码

时间:2011-10-26 18:03:14

标签: vim read-eval-print-loop

R,Python,Scala等都带有REPL环境,我不想错过,但是,大多数时候编辑它们的文本很糟糕,所以我在vim中编辑代码,粘贴它看起来在输出处再次编辑vim中的代码。

我可以使用!python %运行当前文件,我可以使用更多vim魔法运行当前行,但是,这将启动解释器的新进程。

是否可以启动REPL并向正在运行的REPL发送代码行(显然可以得到结果)?

5 个答案:

答案 0 :(得分:10)

这两个插件中的一个可能就是您所需要的:

答案 1 :(得分:2)

尝试Conque

“”” Conque是一个Vim插件,允许您在Vim缓冲区内运行交互式程序,例如Linux上的bash或Windows上的powershell.exe。 “”“

它可以很容易地配置为打开Python解释器,并且可以使用键映射将当前行传输到它以执行它(当前行的F9,当前文件的F10等)。

答案 2 :(得分:2)

不是单独使用普通python,但如果您使用的是IPython 0.11或更高版本,请查看vim-ipython

使用这个插件,你可以发送IPython的行或整个文件来执行,也可以在Vim中找回对象内省和单词补全,就像你在IPython中获得的object?<enter>object.<tab>一样。另外,vim-ipython有一个“shell”模式,当你向IPython发送行时,你可以看到这些行在specialize缓冲区中产生的结果。请参阅second screencast on this post

答案 3 :(得分:2)

我最近编写了一个非常类似的插件:vim-notebook,它允许用户保持后台进程处于活动状态,并使其评估当前文档的一部分(并在文档中写入输出)。它旨在用于包含要评估的代码片段的笔记本样式文档。

答案 4 :(得分:2)

也许您可以尝试使用我的插件vim-repl。它使用vim8终端功能为vim提供了一个令人信服的repl环境。

这是github主页:https://github.com/sillybun/vim-repl

要打开repl环境,只需运行:REPLToggle,或者甚至可以将其绑定到witk键,例如:

nnoremap <leader>r :REPLToggle<Cr>

要与repl交互,只需选择代码并按w。并将代码传输到repl环境。

查看github主页以获取更多详细信息,这将是您的宝贵时间。