1

这感觉应该很简单,但它让我发疯了。我有一个indent-or-expand想要重新映射的功能,tab但我根本无法让它工作(Emacs v24,OS X)。我能够从 Emacs 本身获得的唯一帮助是:

错误“要绑定键 TAB,请使用 \"\\t\",而不是 [TAB]”

Doing显然(global-set-key [\"\\t\"] 'indent-or-expand)将函数绑定到<"\t">(无论是什么),并且我尝试过的每个组合\, ", [],()都失败了。

我确实设法将函数绑定到t,但是......

4

2 回答 2

3

除了别人告诉你的:

  1. 您引用的 Emacs 错误消息告诉您使用“\t”,如果您使用它,您应该没问题:

    (global-set-key "\t" '缩进或展开)

  2. 还要注意这TAB是一回事,<tab>可能是另一回事。IOW,这取决于您的物理键盘Tab键实际发送到 Emacs 的代码。 TAB是制表符,它与 ASCII 控制字符相同C-i,即Control+ i,它的十进制整数值为 9。 <tab>是(在 Emacs 中)一个伪功能键。(最有可能TAB是您想要的。C-h k用于查看您的物理Tab密钥的作用。)

于 2013-08-15T18:24:54.987 回答
2

使用kbd函数,即:

(global-set-key (kbd "TAB") ...)
于 2013-08-15T18:10:26.780 回答