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

时间:2013-09-13 00:01:19

标签: emacs terminal key-bindings

在emacs(版本24.3)中,我的前段和后段映射到M-p和M-n而不是M- {和M-}。我更容易记住并使用C-p和C-n流畅地使用。我最近开始使用多项来运行我的大多数终端工作。但是,当我切换到行模式时,前向和后向段的自定义绑定不再起作用。它说'空输入环'。奇怪的是,当我处于char模式时,C-p和C-n会做他们应该做的事情(提出之前的提示条目),但我的段落动作起作用。

简而言之,我的自定义前向和后向段落绑定在char模式下工作(我并不真正需要它们),但不是在行模式下。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

默认情况下,请参阅term-bind-key-alist,其中包括C-pC-nM-pM-n。另请参阅EmacsWiki页面MultiTerm中的这些段落。第二个特别似乎与您的问题相关。这些不提及term-line-modeterm-char-mode,但我认为它们可能会为您提供一个起点。


Note 1

  • 'term-unbind-key-list'是emacs为自己保留的密钥列表。默认情况下它包含(“C-z”“C-c”“C-x”“C-h”“C-y”“”)
  • 'term-bind-key-alist'是您可以使用的键和函数列表,例如使用Emacs样式光标移动到多终端。默认值很长,所以我会让你自己查一下。

Note 2

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

此外,我在term-line-mode中的任何位置都看不到multi-term.el。它看起来好像只使用term-char-mode。例如,请参阅multi-term-keystroke-setup