终端中的控制键和向上/向下键供 emacs 使用

终端中的控制键和向上/向下键供 emacs 使用

在终端窗口中运行 emacs 时(使用标志从命令行启动 emacs 时)是否可以使用C-upand ?当我按下这些键并让这些键在 emacs 中工作时,我的终端应该发送什么?C-down-nwC-upC-down

我在 Mac OSX 上,使用 iterm2 ssh 到远程 Linux 服务器,在其中从 bash 启动 emacs 会话。

答案1

终端知道字符,而不是键,因此没有对应字符的键需要转换为转义序列并返回。

您可以选择任何不会引起任何冲突并且 iterm2 和 Emacs 都同意的控制序列。不幸的是,这些控制序列没有标准化。\e[1;5A\e[1;5B是流行的选择(其中\e是转义字符)。

Emacs 有一个相当复杂的系统来将转义序列转换为键。看翻译键位图在手册中。input-decode-map除非您的 Emacs 旧版本没有该功能,否则请使用。

(define-key input-decode-map "\e[1;5A" [C-up])
(define-key input-decode-map "\e[1;5B" [C-down])

在 iterm2 中,在配置文件的“Keys”选项卡中设置相应的按键序列。看如何在 iTerm2 中使用 control+左箭头返回一个单词?获取图解指南。

也可以看看终端下的 Emacs + paredit (Terminal.app, iTerm, iTerm2)

相关内容