目前在猛砸我用set -o vi
,使我在bash提示符vi模式。
我如何得到这个打算在IPython中?
注意:如果答案适用于所有* nix中,我会从标题中删除OS X :)
目前在猛砸我用set -o vi
,使我在bash提示符vi模式。
我如何得到这个打算在IPython中?
注意:如果答案适用于所有* nix中,我会从标题中删除OS X :)
如果某人的游荡在这里最近, IPython中从5.0的readline切换到prompt_toolkit ,所以更新的这个问题的答案是通过一个选项:
$ ipython --TerminalInteractiveShell.editing_mode=vi
...或全局设置配置文件中的配置( ~/.ipython/profile_default/ipython_config.py
;与创建它ipython profile create
,如果你没有的话)有:
c.TerminalInteractiveShell.editing_mode = 'vi'
看起来像一个解决方案适用于许多其他的readline兼容的应用程序:
设置在下面的~/.inputrc
文件:
set editing-mode vi
set keymap vi
set convert-meta on
来源: http://www.jukie.net/bart/blog/20040326082602
您还可以通过交互VI-模式和Emacs模式之间切换。 按照该readline的文档在它们之间进行切换,你都应该能够使用MCJ组合键但这似乎只让我切换到VI模式-在我的Mac(其中ESC被用作“元”键),它是:ESC + CTRL + J。 要切换回emacs模式可以使用铈但这似乎没有对我的工作-我不得不做,而不是MCE -在我的Mac是:ESC + CTRL + E。
仅供参考我的〜/ .inputrc文件设置如下:
set meta-flag on
set input-meta on
set convert-meta off
set output-meta on
ipython
使用readline库,这使用是可配置的~/.inputrc
文件。 你可以加
set editing-mode vi
该文件以使所有readline
基于应用程序使用VI风格的按键组合,而不是Emacs的。
我需要能够在IPython的5交互切换模式,我发现,你可以通过重新对飞提示经理这样做:
a = get_ipython().configurables[0]; a.editing_mode='vi'; a.init_prompt_toolkit_cli()