我已经开始使用带有 -nw 选项的 emacs - ctrl-home 和 ctrl-end 不起作用

cod*_*one 5 emacs

为了加快我的 emacs 工作流程,我尝试使用 emacs -nw 与在 X-Windows 模式下运行。

Ctrl-HOME 和 Ctrl-END 根本不起作用,不幸的是,尝试编辑 .keymap 文件并遵循在线建议并没有带来任何乐趣。例如

http://www.emacswiki.org/emacs/CuaMode

我通常启用 cua-mode 进行换档选择,这在换档向上/向下翻页时也会失败,例如

让所有这些都在 -nw 模式下工作会很棒,我欢迎 emacs 用户的建议。

  • 安装 = Linux Mint 9
  • 外壳 = zsh

Gil*_*il' 4

不幸的是,不同的终端会发送不同的转义序列,例如Ctrl+Home,并且 Emacs 并不知道所有这些序列。function-key-map您可以通过(或在 Emacs 23 下)声明其他转义序列local-function-key-map。这告诉 Emacs 这些转义序列实际上是单个功能键的编码。

要找出按键发送的转义序列,请按C-q键,然后按该键:这将插入按字面意思开始按键序列的转义字符,然后是组成按键序列的其他字符。例如,当我按 时,我使用的一个终端会发送四个字符^[, O, 5, ,因此我会在我的 中包含以下行:HCtrl+Home.emacs

(define-key function-key-map "\e05H" [C-home])
Run Code Online (Sandbox Code Playgroud)

\e是编写转义字符的最易读的方式。对您想要支持的其他键执行相同的操作。

如果最新版本的 Emacs 不支持开箱即用的按键,那么最好告诉开发人员您的终端发送的按键序列。