如果我想创建一个自定义组合键来运行一个命令,是否有这个保留的任何键盘快捷方式? 我总是觉得它在其上的快捷方式决定重写,因为我不知道什么命令,我不应该重写并命令我可能在未来安装插件将尝试设置困难。
Answer 1:
我建议使用未绑定 。 它只是这种类型的场景制作。
一旦你拥有了它在您的Emacs的配置需要,键入以下将列出您的自定义可能未结合键:
M-x describe-unbound-keys
它要求的复杂程度(我一般只使用5)组合键取决于如何方便的(小于期权)或深奥(更多选项)一键绑定你有兴趣了。
Answer 2:
你可以重新定义什么,但惯例是使用Cc l
(其中l
是任何字母)。
作为用户,你可以重新定义任意键; 但通常最好坚持后跟一个字母(大写或小写),其由Cc的键序列。 这些密钥“预留给用户”,所以他们不会与任何适当的设计Emacs的扩展冲突。 功能键F5通过F9也保留了用户。 如果你重新定义其他一些重要的,你的定义可能是某些扩展或重新定义相同的密钥主要模式覆盖。
就个人而言,我试图找到在按键绑定一个洞溜我的自定义 - 而且通常有足以让我找到一些合理的。 此外,我通常让我的自定义键绑定本地未成年人模式,或主要模式的键盘映射,并避免使用global-set-key
只要有可能。 这有助于保持孔的键盘布局。
例如,我推翻Cr
在minibuffer-local-map
在迷你更改为“已解决”的路径名的路径。 因此,尽管Cr
是全球必然'isearch-reverse
,我不想念了小缓冲区内结合(和,这是可用,如果我开始在迷你向前搜索)。
另一个例子是,我写的东西 ,杀死所有其他缓冲区,其文件名当前缓冲区的文件名匹配。 Cx k
是'kill-buffer
,幸运的是Cx K
是免费为我'kill-other-buffers-of-this-file-name
,这是我喜欢的,因为它是在原来的按键绑定一个微小的变化。 这是一个全局设置,但我想在全球可用的功能。
Answer 3:
还记得,所有的保留序列可以平凡作为前缀绑定,如果你想要将相关的任务一起,或只是想采取一个特定的易型抄送 <字母>序列的最大优势。
举例来说,我使用抄送 米为一些想快速进入magit(及相关)功能的前缀。 例如:
(global-set-key (kbd "C-c m m") 'magit-status)
(global-set-key (kbd "C-c m l") 'magit-key-mode-popup-logging
(global-set-key (kbd "C-c m b") 'mo-git-blame-current)
当然, 抄送 的5M CH那么说明我的一切我有一个前缀下的绑定。
Answer 4:
不,你可以映射到你觉得,如果它是你配置的任何键的任何命令。
如果您正在创建您的模式或LIB,然后选择是不是已经采取键绑定。