R,Python,Scala等都带有REPL环境,我不想错过,但是,大多数时候编辑它们的文本很糟糕,所以我在vim中编辑代码,粘贴它看起来在输出处再次编辑vim中的代码。
我可以使用!python %
运行当前文件,我可以使用更多vim魔法运行当前行,但是,这将启动解释器的新进程。
是否可以启动REPL并向正在运行的REPL发送代码行(显然可以得到结果)?
答案 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主页以获取更多详细信息,这将是您的宝贵时间。