emacs不能识别的键盘码怎么绑定? 比如\201这种

一直用的GUI版本, 现在第一次在终端里用emacs, 遇到不少问题.

直接写在 string 里

mintty换成putty就不一样了, 按不出这种键码了, 看来不应该用这些特殊的按键.

从GUI切换过来, 丧失了一大堆常用快捷键, 用一段时间再说, 看能否适应.

首先,你要把 TERM 环境变量设置对,Emacs 才能正常识别终端发的按键。

两者都设置的是xter-256color, 但是两者的实际效果稍有不同.

这些按键不是emacs标准快捷键, 所以在终端上的兼容性问题心里是有预期. 比如control+shift+a, 选中从当前位置到行首的区域, 这种快捷键你们在终端里能用吗? 还有比如shift+backspace, control+backspace …

我在GUI版本里天天用这些快捷键, 换到终端里傻眼了.

终端程序只能识别 ASCII code。https://www.ascii-code.com/

这些了解. 其实有一多半是识别的, 比如control和f1~12组合, control+delete, shift+回车等等, 我用了好多这种组合.

我在想, 终端这套协议不能重新定义一下或者开发一套新的吗? 这是半个世纪前遗留下来的东西了吧? 对按键限制有点多.

如果没这些限制, 就完全没必要考虑vscode什么的了.

其他如 fn,方向键是通过 escape sequence 实现的,具体视 TERM 而定。

很显然,你可以自己定义 TERM 类型并且给 escape sequence 扩展功能,但只要运行的软件不能识别这个 TERM 就没用。除非这些扩展足够流行成为事实标准。现在的趋势是去掉对复杂的 TERM 功能的支持,只支持最基本的 ansi-term 标准,想要加功能更不可能

如果想要按键事件级别的处理,那为啥不用GUI呢。

环境所限,不能用gui版本,先后试了mintty和putty,发现前者能用的按键多不少,后者很多按键不能用,且无法设置。比如shift加方向键,前者可以,后者不行

只要带宽没有问题可以用VNC或者X forwarding,带宽有限或者限制装X Window那么用tramp也不是不行