我喜欢使用bpython但是在Ruby中有一个名为interactive_editor的gem,它可以将Vi(m)与Ruby shell结合起来,这使得开发过程更加舒适。对interactive_editor的一个很好的介绍:http://vimcasts.org/episodes/running-vim-within-irb/
是否有可用于将Python shell与Vi(m)组合的工具(如Ruby的interactive_editor)?
答案 0 :(得分:12)
你可以看看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。
答案 1 :(得分:1)
我无法让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
会立即执行刚刚执行的操作。作为附带好处,您还可以使用此命令快速从一个窗口移动到另一个窗口。
编辑(2015年2月2日):如果您使用ipython作为解释器,则需要运行%autoindent
以关闭自动缩进以保留某些代码块的格式。干杯!