【问题标题】:emacs: key binding for expand region [closed]emacs:扩展区域的键绑定[关闭]
【发布时间】:2016-01-21 20:58:57
【问题描述】:

我最喜欢的 emacs 插件之一是 expand-region。

它以智能的方式选择块代码。他们准备好推荐绑定 扩展区域的关键 C-=。但是,在 Mac OS 终端中,C-= 不是由 OS 传递给应用程序的。

那么我可以在 OS X 上使用哪两个组合键? (它必须能够快速按下,因为我几乎每分钟都使用扩展区域)

【问题讨论】:

  • 我建议使用功能键(例如 F9):gnu.org/software/emacs/manual/html_node/elisp/…。您可以找出给定键与C-h k 绑定的内容,并决定是否要覆盖它。很多在 GUI 中不同的键被别名为终端中的相同键,基本上没有办法解决这个问题,每个用户决定哪些默认值不够重要,可以重新绑定。

标签: macos emacs terminal


【解决方案1】:

您无法使用 C-= 的原因是您有一个使用该键绑定的 OS X 快捷方式。您可以禁用该快捷方式或将其移动到另一个键绑定,这将允许您在 emacs 中使用 C-=。

我在 OS X (El Capitan) 下的 GUI 窗口中运行 Emacs,并将 C-= 绑定到扩展区域。

如果您在终端中运行,则终端也可能会窃取该键绑定,因此如果您在首选项 -> 键盘 -> 快捷方式中找不到任何匹配项,请查看您的键盘首选项。

一般来说,我在 emacs 中找到可用键绑定的方法是执行以下操作

  1. 使用 C-h b 列出当前的键绑定并查看已使用的内容并确定可用的绑定。

  2. 使用 C-h k 验证密钥未绑定并验证操作系统将通过它。如果没有任何反应,则它们的密钥被操作系统或终端窃取,在这种情况下,您要么选择另一个密钥,要么在操作系统/终端层禁用绑定。

  3. 确定要使用的键绑定后,使用 global-set-key 全局定义它,或使用本地键映射和 define-key 以特定模式定义它。

我倾向于在 OSX 下大量使用 emacs,因此禁用了许多 OSX 快捷方式,以便我可以使用 emacs 中的键。当我在 Linux 和 OS X 上工作时,我喜欢尝试在两个平台上保持我的 emacs 键绑定相同。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-15
    • 2017-05-05
    • 2012-09-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-16
    • 2016-12-15
    • 1970-01-01
    相关资源
    最近更新 更多