我喜欢使用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)结合起来?
我喜欢使用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)结合起来?
你可以看一下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。
我无法让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
关闭自动缩进以保留某些代码块的格式。干杯!