我看了一下 ivy-minibuffer-map
里有两个 esc,这个是什么意思?
按下 esc 的时候到底哪个在起作用?怎么决定的?
我看了一下 ivy-minibuffer-map
里有两个 esc,这个是什么意思?
按下 esc 的时候到底哪个在起作用?怎么决定的?
ESC
是 ^[
字符,<escape>
是图形界面下的 esc 鍵的 keycode。在图形界面按 esc, Emacs 收到 后识別为 <escape>
,用 key-translation-mapkey-translation-map
转成 ESC
。在终端按 esc,终端收到后发给 Emacs ^[
字符,Emacs 识別为 ESC
感觉这样设计让人很费解,请问<space>和SPC也是图形界面和终端的区别吗,我要定义快捷键得定义两个?
沒有 <space>
。为什麼要有 <escape>
和 ESC
的区別是因為终端下 alt 和 esc 发送的字符都是 ^[
。
那有<tab>吗,我看一些文章里有吗,还是只有esc有两种,区分客户端和终端
那在终端下alt和esc就无法区分了?是一样的?
有 <tab>
,因为终端下 Tab 发送的字符和 C-i 一樣。
最多只能通過時否和其它字符一起发送來確定。比如 ^[a
如果是一起收到就是 Alt 和 a,两个隔一会時就是 ESC 和 a