我想将键序列C-tab
绑定到indent-rigidly
。我在M-x local-set-key
之后以交互方式执行此操作。但我希望每次启动Emacs时都应用它。为此,我在init.el
文件中添加了以下行:
(global-set-key (kbd "C-tab") (indent-rigidly))
(如Urvashi Khandelwal, Neural Text Summarization 所述)
然而,它不起作用。上面一行中的“local-set-key”也不起作用。 “C-TAB”也行不通。错误消息是:
<C-tab> is undefined
问题在哪里以及如何解决?
答案 0 :(得分:3)
需要引用该命令。以下是等效的(并且应该有效):
(global-set-key (kbd "C-<tab>") 'indent-rigidly)
(global-set-key (kbd "C-<tab>") (quote indent-rigidly))
答案 1 :(得分:1)
准确传递您在错误消息中看到的关键描述kbd
:"<C-tab>"
。
(global-set-key (kbd "<C-tab>") 'indent-rigidly)
M-x global-set-key
可让您直接点击键序列,而不知道如何描述它。 C-h k
后跟关键序列会向您显示Emacs如何描述它 - 在这种情况下,它会向您显示<C-tab>
。
然而,事实证明(kbd "C-<tab>")
和(kbd "<C-tab>")
返回相同的内容:[C-tab]
。所以你可能还有其他一些问题。
C-h k
告诉你什么,当你按下你想要的键序列时?当你使用emacs -Q
(没有初始化文件)启动Emacs时,你会看到同样的事情吗?
[顺便说一下,如果你不想因为Emacs使用尖括号(完全不必要)来进行关键描述而烦恼并且感到困扰,你可以使用库naked.el
而不用它们:< strong> (naked "C-tab")
= (kbd "<C-tab>")
= (kbd "C-<tab>")
。]
答案 2 :(得分:0)
正确的代码是:
{{1}}
或:
{{1}}