试过了stackoverflow的这些方法都不行
在终端是不可能分离的。只有在 GUI 才能分离。
1 个赞
好吧, 只能放弃另外换个键了…还是terminal方便一点
这跟 Emacs 没有关系:终端不区分 TAB
和 C-i
的话,Emacs 只知道你按了一个代号为 10 的键,不可能知道你到底按的是哪一个。
| Char | Value | Key[1] | Key[2] |
|-----------------+-------+--------+--------|
| Tab | 9 | C-i | TAB |
| Newline | 10 | C-m | RET |
| Carriage Return | 13 | C-j | |
| ESC | 27 | | ESC |
可以试试修改终端的设置,有些终端 [3] 是可以让你定制一个键到底发出什么样的值,然后再叫 Emacs 绑定这个值。比如让 C-i
发个 の
,然后在 Emacs 中
(global-set-key [?の] #'emacs-version)
然后按 C-i
就会执行 emacs-version
这个命令了。
-
C-i
对应 9 是因为C-a
~C-z
分别对应 1 ~ 26 - (emacs) Named ASCII Chars
- 比如 iTerm2 可以,Mac 内置的 Terminal.app 似乎不行
1 个赞
^A ~ ^Z
,准确来说。这些都是 ASCII 字符,只是通常不可见。
mac 下可以这样使用iterm2
1 个赞
谢谢, 科普了这些我完全不知道的知识, 我主要用guake, 次之gnome-shell, 看来是不可能修复的了. 之前vim也有过Alt key不兼容的问题, 是同一个问题吗?
确实这些键在vim下也是不分的,只是vim的tab key 和c-i没有冲突的场景