我正在尝试添加一项来自Eclipse的功能,在那里,Alt+[Up/Down]可以将行上下移位,但是我无法弄清如何正确地为这些按键分配功能。 我正在使用-nw
模式(仅在shell窗口中),通常在screen会话中运行。
使用全局键绑定,我可以使字母组合生效,例如(kbd "M-m")
,但我尝试过的所有箭头键组合都只给我一个不合理的消息,我总是得到:
"ESC <up> is undefined"
我尝试过什么:
(global-set-key (kbd "M-<up>") 'transpose-line-up)
(global-set-key (kbd "<escape>-<up>") 'transpose-line-up)
(global-set-key [M-up] 'transpose-line-up)
(global-set-key [\e \M-O A] 'transpose-line-up)
并且 C-h c 只会返回:
ESC <up> (translated from ESC M-O A) is undefined
使用 ESC 或 Alt 都不能实现,有没有什么办法可以使其正常工作呢?我更喜欢将它们设置为 Alt+向上/向下,因为这已经成为我的习惯了。
编辑
来自评论:
C-q 向上箭头 打印出
^[OA
。C-q Alt 向上箭头 打印出
^[
并将光标移到上一行。C-h k(Alt+向上)打印出
ESC <up> (translated from ESC M-O A) is undefined
。
感谢提供的建议,但它们都无法解决问题。