IPython 5.0和控制台中的键绑定

gbo*_*ffi 20 python keyboard-shortcuts xterm ipython

IPython的新版本不再依赖,readline而是使用纯Python库prompt-toolkit,解决Apple和Windows系统上的维护问题.

一个新功能是能够编辑多行代码块,使用光标键在代码块中自由移动 - 至少对我来说这是一个问题:因为ret在代码中插入一个新行,整个块传递给你要使用快捷翻译alt+ ret或可能是不太方便的键序列esc之后ret.

我说,这是一个问题,因为我选择的终端模拟器是XTerm,并且在许多Linux发行版中,快捷方式alt+ ret没有传递给应用程序,但它直接由运行IPython的XTerm使用,以切换所述终端的屏幕丰满度(@ThomasDickey,xterm的mantainer和共同作者指出,默认情况下,xterm无需向Enter应用程序发送修改器位,即使在解除Fullscreen操作时也是如此).

出于这个原因,我想至少修改这个特定的IPython密钥绑定.

我已经找到了readline适用于新版5.0版本的IPython 的前一版本(基于版本)的说明(有点).

我需要的是指导,让我在IPython的用户文档中找到可以绑定的可能操作的名称,与操作绑定的快捷方式的名称以及配置新键绑定时要遵循的过程.

如果没有这种类型的规范答案,我可能会对配方完成这个特定的键绑定感到满意,条件是配方仍然适用于IPython 6.0

Tho*_*key 4

您可以更改 xterm 的配置。

xterm 是可配置的(并记录在案)。在 xterm 手册中,默认键绑定部分显示了该键的默认绑定:

                        Alt <Key>Return:fullscreen() \n\
Run Code Online (Sandbox Code Playgroud)

您可以通过多种方式抑制该绑定:

  • 使用omitTranslation资源来抑制特征
  • fullscreen资源设置为never

然而,仅仅抑制它不会让它发送一些有趣的东西(xterm 忽略修饰符 for Enter)。设置translation资源有效,例如在您的$HOME/.Xdefaults文件中:

*VT100*translations:      #override \n\ 
     Alt <Key>Return: string("\033[27;3;13~")
Run Code Online (Sandbox Code Playgroud)