首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 ><tab>诉emacs中的TAB

<tab>诉emacs中的TAB
EN

Stack Overflow用户
提问于 2014-10-04 18:32:26
回答 2查看 741关注 0票数 5

我在OS终端上使用emacs 24.3,遇到了一些奇怪的东西。

在markdown-mode.el中,选项卡键通过(define-key map (kbd "<tab>") 'markdown-cycle)绑定到密钥映射中的一个特定函数,但由于某种原因,它没有为我注册(虽然密钥映射的其他部分运行良好)。

解决这个问题的方法是将上面的<tab>更改为TAB。这在OS终端上有问题吗?有办法解决这个问题吗?我觉得这不应该发生。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-04 20:39:11

我认为标记模式应该使用TAB,而不是<tab>

据我所知,<tab>是键盘上的Tab键,而TAB是control或ascii字符9(写的\t\x09)。Tab键没有ascii值。

在GUI中,Emacs看到您按下Tab键(<tab>)并默认将其转换为GUI (TAB)。Emacs可以区分Tab和can,但是将Tab转换为can,除非您专门将<tab>绑定到其他东西(这是标记模式可以做到的)。

在终端中,终端将Tab键转换为C (ascii 9),而Emacs只看到C。Emacs无法区分这两者,因为它们都以C的身份出现。

同样的事情发生在<return>RET (C,ascii 13)。

票数 6
EN

Stack Overflow用户

发布于 2014-10-04 21:42:37

使用TABdefine-key可以自动绑定键盘为标有"Tab“的键发送的任何事件,无论是ASCII TAB字符(也称为C-i (Control + i)或其他什么--包括Emacs编写的伪函数键<tab> )。

这可能不会在所有情况下都自动工作。如果它对您的特定键盘不起作用,那么使用C-h k并按下Tab键,找出它绑定到什么。无论Emacs告诉您什么是关键序列,请尝试绑定它。例如,如果它告诉您密钥序列是<foobar>,那么使用(kbd "<foobar>")

但是在大多数情况下,您所需要做的就是使用(kbd "TAB") (或"\C-i"[control ?i])。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26195884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档