Emacs 在line模式下使用multi-term.el时如何保留键绑定?

Emacs 在line模式下使用multi-term.el时如何保留键绑定?,emacs,terminal,key-bindings,Emacs,Terminal,Key Bindings,在emacs(24.3版)中,我将前进段和后退段映射到M-p和M-n,而不是M-{和M-}。我更容易记住和流畅地使用C-p和C-n。我最近开始使用多术语来运行我的大部分终端工作。然而,当我切换到行模式时,向前和向后段落的自定义绑定不再起作用。上面写着“空输入环”。奇怪的是,当我处于char模式时,C-p和C-n会执行它们应该执行的操作(显示以前的提示条目),但我的段落移动会起作用 因此,简而言之,我的自定义向前和向后段落绑定在char模式下工作(我实际上不需要它们),但在line模式下不工作。有

在emacs(24.3版)中,我将前进段和后退段映射到M-p和M-n,而不是M-{和M-}。我更容易记住和流畅地使用C-p和C-n。我最近开始使用多术语来运行我的大部分终端工作。然而,当我切换到行模式时,向前和向后段落的自定义绑定不再起作用。上面写着“空输入环”。奇怪的是,当我处于char模式时,C-p和C-n会执行它们应该执行的操作(显示以前的提示条目),但我的段落移动会起作用


因此,简而言之,我的自定义向前和向后段落绑定在char模式下工作(我实际上不需要它们),但在line模式下不工作。有什么想法吗?

请参见
术语绑定键列表
,默认情况下包括
C-p
C-n
M-p
M-n
。请参见EmacsWiki页面中的这些段落。第二个问题似乎与你的问题特别相关。这些没有提到
术语行模式
术语字符模式
,但我认为它们可能会为您提供一个起点


  • “术语解除绑定密钥列表”是emacs为自己保留的密钥列表。默认情况下,它包含(“C-z”“C-C”“C-x”“C-h”“C-y”)
  • “术语绑定键列表”是一个键和函数列表,您可以使用这些键和函数,例如使用Emacs样式的光标移动到多终端。默认值为long,因此我让您自己查找它

  • 因为C-r是isearch backward的默认击键,为了避免与C-r冲突,我绑定了M-r以向shell发送“C-r”字符。 您可以在multi-term.el中使用选项term bind key alist/term unbind key list来绑定/解除绑定特殊击键,而不使用term mode hook。☺ –- 安迪斯沃特

此外,我在
multi-term.el
中的任何位置都看不到
术语行模式。它看起来似乎只使用
术语字符模式
。例如,请参见多术语击键设置