Python解释器外壳与Vi(m)集成是否可能?
我喜欢使用bpython,但是在Ruby中有一个叫做interactive_editor的gem,它使Vi(m)与Ruby shell相结合成为可能,从而使开发过程更加舒适。交互式编辑器的良好介绍:Python解释器外壳与Vi(m)集成是否可能?,python,vi,Python,Vi,我喜欢使用bpython,但是在Ruby中有一个叫做interactive_editor的gem,它使Vi(m)与Ruby shell相结合成为可能,从而使开发过程更加舒适。交互式编辑器的良好介绍: 是否有任何工具(如interactive_editor for Ruby)可用于将Python shell与Vi(m)结合起来?您可以看看vim ipython vim插件: 这要求您安装ipythonshell(但我还是建议您这样做,因为它为标准pythonshell添加了很多功能) 如果您不想
是否有任何工具(如interactive_editor for Ruby)可用于将Python shell与Vi(m)结合起来?您可以看看vim ipython vim插件: 这要求您安装ipythonshell(但我还是建议您这样做,因为它为标准pythonshell添加了很多功能) 如果您不想安装ipython,我建议您看看vim的ConqueShell插件: 这允许您在vim中运行shell。一旦你找到vim球的来源,你需要做的就是
: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
imap m Vyp
nmap m Vyp
vmap m yp
imap n']0j
nmap n']0j
从安装的新Vim屏幕和ConqueShell中,键入:ConqueTermSplit python
。现在返回到原始窗口(快捷方式是
),并键入一些Python代码
要将To光标下的行发送到解释器,请按m
。我把引线映射到逗号,这是一个非常简单的动作。要发送代码块,请在视觉模式下突出显示一些行,然后执行m
。它的工作原理是一样的
要返回到脚本,n
转到刚刚执行的脚本后面的一行。另一个好处是,您还可以使用此命令快速地从一个窗口移动到另一个窗口
编辑(2-20-2015):如果您使用ipython作为解释器,则需要运行
%autoindent
以关闭自动缩进以保留某些代码块的格式。干杯 非常感谢,这正是我想要的。呃,Pry已经内置了interactive\u editor
的功能,你意识到了吗?一个实用的解决方案可能是遵循这里给出的建议——如果您只希望python解释器键绑定与VI保持一致,那么就可以这样做