Emacs:如何选择好的自定义键绑定?

Emacs:如何选择好的自定义键绑定?

我是 Emacs 新手,我想开始添加一些全局自定义键绑定,用于执行默认情况下没有的常见任务,例如 、 等。我想做出正确的选择,但我发现了一些问题replace-stringreplace-regex

  • 查看我的所有选项- 如何查看我经常使用的所有模式下未绑定的全部按键范围?

  • 兼容性/约定- 是否存在通用的非官方绑定或通用的“用户空间”键来开始个人自定义绑定?

  • 其他事宜- 我还应该考虑什么吗?

答案1

尝试看一下SO上的这个问题:是否有任何为自定义命令保留的 emacs 组合键?

关于查看可用资源,可以去unbound图书馆(见第一个答案回答上述问题)。

一个惯例(摘自我对这个问题的回答) 是:

你可以重新定义任何事物,但惯例是使用 C-c ll任意字母在哪里)。

作为用户,您可以重新定义任何键;但通常最好坚持C-c 使用由 和字母(大写或小写)组成的键序列。这些键是“为用户保留的”,因此它们不会与任何正确设计的 Emacs 扩展冲突。F5到 的功能键F9也是为用户保留的。如果您重新定义其他键,您的定义可能会被重新定义相同键的某些扩展或主要模式覆盖。

请记住,在各种(主要和次要)模式下,键绑定都是不同的,因此一个缓冲区中可用的功能不一定在另一个缓冲区中可用。并尽可能使您的键绑定处于最本地化的级别。例如,如果功能对一行代码执行某些操作,请不要为其创建全局键绑定,而是在适当的键映射中定义它(c++-mode-mapruby-mode-map等)。

就您的具体任务而言,您是否注意到:

  • M-%又名query-replace
  • C-M-%又名query-replace-regexp

此外,当您搜索(C-sC-M-s(和反向变体))时,您可以键入M-%(或C-M-%)直接输入query-replacequery-replace-regexp)并将搜索字符串作为要替换的内容……非常方便。

相关内容