Macos <;选项卡>;vemacs中的选项卡

Macos <;选项卡>;vemacs中的选项卡,macos,emacs,elisp,Macos,Emacs,Elisp,我在OSX终端中使用Emacs24.3,遇到了一些奇怪的问题 在markdown-mode.el中,tab键通过(定义键映射(kbd“”)“markdown循环)绑定到键映射中的特定功能,但由于某些原因,我没有注册它(尽管键映射的其他部分工作正常) 修复此问题的方法是将上面的更改为选项卡。这是OSX终端中不可靠的东西吗?有没有办法解决这个问题;我觉得这种情况不应该发生。我认为降价模式应该使用选项卡,而不是 据我所知,是键盘上的Tab键,Tab是control-I,或ascii字符9(写入\t或\

我在OSX终端中使用Emacs24.3,遇到了一些奇怪的问题

在markdown-mode.el中,tab键通过
(定义键映射(kbd“”)“markdown循环)
绑定到键映射中的特定功能,但由于某些原因,我没有注册它(尽管键映射的其他部分工作正常)


修复此问题的方法是将上面的
更改为
选项卡。这是OSX终端中不可靠的东西吗?有没有办法解决这个问题;我觉得这种情况不应该发生。

我认为降价模式应该使用
选项卡,而不是

据我所知,
是键盘上的Tab键,
Tab
是control-I,或ascii字符9(写入
\t
\x09
)。Tab键没有ascii值

在GUI Emacs中,Emacs看到您按了Tab键(
),并默认将其转换为C-i(
选项卡
)。Emacs可以区分Tab和C-i,但会将Tab转换为C-i,除非您专门将
绑定到其他对象(标记模式就是这样做的)

在终端中,终端将Tab键转换为C-i(ascii 9),Emacs只看到C-i。Emacs无法区分这两者,因为它们都显示为C-i


vs
RET
(C-m,ascii 13)也会发生同样的情况。

使用
TAB
define key
会自动绑定键盘为标记为“TAB”的键发送的任何事件,无论它是ascii
TAB
字符,也称为
C-i
(Control+i)或者其他东西——包括Emacs编写的伪函数键

这可能并非在所有情况下都能自动工作。如果它不适用于您的特定键盘,请使用
C-hk
并按Tab键,找出它绑定的内容。无论Emacs告诉您什么是键序列,请尝试绑定它。例如,如果它告诉您键序列是
,则使用
(kbd“”)


但在大多数情况下,您只需使用
(kbd“TAB”)
(或
“\C-i”
[control?i]
)。

听起来像是降价模式中的错误。似乎模式应该绑定
(kbd“TAB”)
,而不是
(kbd“”)
。考虑向图书馆维护者提交bug报告。