问题 具有Vi(m)集成的Python解释器Shell可能吗?


我喜欢使用bpython但是在Ruby中有一个名为interactive_editor的gem,它可以将Vi(m)与Ruby shell结合起来,这使得开发过程更加舒适。 interactive_editor的一个很好的介绍: http://vimcasts.org/episodes/running-vim-within-irb/

有没有可用的工具(比如Ruby的interactive_editor)将Python shell与Vi(m)结合起来?


11243
2018-04-23 10:10


起源

呃,Pry有这个特点 interactive_editor 内置已经,你意识到这一点吧? 看这里 - horseyguy
一个务实的解决方案可能是遵循这里给出的建议 - stackoverflow.com/questions/6636124/...   这是你只想让python解释器键绑定与VI一致 - arcseldon


答案:


你可以看一下vim-ipython vim插件:

https://github.com/ivanov/vim-ipython

这需要你安装ipython shell(但我建议这样做,因为它为标准的python shell添加了很多功能)。

如果您不想安装ipython,我建议您查看vim的ConqueShell插件:

http://www.vim.org/scripts/script.php?script_id=2771

这使您可以在vim中运行shell。一旦你采购了vim-ball,你需要做的就是

:ConqueTerm python

在vim中直接获取python shell。


12
2018-04-23 10:20



非常感谢,这正是我想要的。 - StandardNerd
ConqueTerm看起来很棒,+ 1 - Sam


我无法让vim-ipython工作,所以我制作了适用于ConqueShell的.vimrc解决方案:

imap <silent> <leader>m <Esc>Vy<C-w><C-w>p
nmap <silent> <leader>m Vy<C-w><C-w>p
vmap <silent> <leader>m y<C-w><C-w>p
imap <silent> <leader>n <Esc><C-w><S-w>']0j
nmap <silent> <leader>n <C-w><S-w>']0j

从新的Vim屏幕和ConqueShell安装,键入 :ConqueTermSplit python。现在返回原始窗口(快捷方式是 <C-w><S-w>)并输入一些Python代码。

要将光标下的行发送到解释器,请按 <leader>m。我将领导者映射到逗号,这是一个非常简单的动作。要发送代码块,请在可视模式下突出显示某些行并执行 <leader>m。它的工作方式相同。

要返回脚本, <leader>n 你刚才执行的就紧接着去了。作为附带好处,您还可以使用此命令快速从一个窗口移动到另一个窗口。

编辑(2-20-2015):如果你使用ipython作为解释器,你需要运行 %autoindent 关闭自动缩进以保留某些代码块的格式。干杯!


1
2018-01-15 01:49