我正在尝试将向后删除行绑定到Ctrl-Backspace。以下是绑定工作:
(global-set-key (kbd "C-\d") 'backward-kill-line) ; emacs-w32
(global-set-key (kbd "\b") 'backward-kill-line) ; xterm但是,当我从Windows登录到ssh时,我通常使用Mintty。Bash报告的Ctrl-v序列是'\037‘,但emacs无法识别。相反,当emacs在Mintty term上运行时,每次我按Ctrl-Backspace时,都会将以下字符发送到缓冲区:';5u‘。
有没有办法告诉emacs使用';5u‘作为键绑定?指定(kbd ";5u")将不起作用,因为emacs需要一个字符。
发布于 2015-04-17 04:27:24
使Emacs为您提供帮助,输入C-h k和您的C-v,Emacs显示的内容类似于我在xterm中执行此操作时为Ctrl + numPlus获取的内容
M-O 5 k is undefined我把它翻译成
(global-set-key (kbd "M-O 5 k") 'end-of-line)这一切都很好!
UPDATE使用我的expect脚本从终端获取按组合键时获得的字节序列:http://sourceforge.net/u/gavenkoa/utils/ci/default/tree/misc/keyseq.exp
如果您使用mintty,我会检查docs:https://code.google.com/p/mintty/wiki/Tips,您的关键代码序列与另一个示例非常相似,因此我相信:
(global-set-key (kbd "\e[1;5u") 'end-of-line)替你干活吧。
检查来自(info "(elisp)Reading Input)的主题。
UPDATE 2你陷入了终端的Ctrl+Backspace问题,请自己调查信息:https://www.google.com.ua/search?q=ctrl+backspace+terminal
我记得几年前我也有过同样的问题。Ctrl+Backspace在终端仿真器中生成与Ctrl-H相同的字节序列的主要问题。出于这个原因,我训练使用ESC Backspace来向后删除单词。我从来没有深入研究过终端仿真标准和实现代码,以了解是否可以在mintty中为C-Backspace生成不同的代码序列((
https://stackoverflow.com/questions/29681826
复制相似问题