我试图在Eclipse中放入一个我想念的功能,其中Alt+ [ Up/ Down]可以向上或向下转换行,但是在我的生活中不能找到如何正确分配这些键的功能.我在-nw模式中使用它(所以只在shell窗口中),通常在屏幕会话中运行.
使用全局键绑定,我可以使用字母组合,比如(kbd "M-m"),但是我为箭头键尝试的每个组合只给我一条没有意义的消息,我总是得到:
"ESC <up> is undefined"
Run Code Online (Sandbox Code Playgroud)
我尝试过的:
(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)
Run Code Online (Sandbox Code Playgroud)
而且C-h c只是回报:
ESC <up> (translated from ESC M-O A) is undefined
Run Code Online (Sandbox Code Playgroud)
这些都不起作用,无论是使用ESC还是Alt.
知道如何让这个工作吗?我更愿意将这些作为Alt+ [ Up/ Down],因为这是我习惯的.
编辑
来自评论:
C-q Up打印^[OA.
C-q M-Up打印^[并将光标向上移动一行.
C-h k(Alt+ Up)打印 …
我想知道是否有办法在emacs会话中保存窗口配置.我知道桌面保存非常适合保留缓冲区和诸如此类的东西,并且emacs手册演示了如何将窗口配置存储到寄存器中,但这不会在会话中持续存在.
当然,这似乎并不太难以实现自己......
我刚刚开始学习emacs(哇哦!)而且我一直在.emacs愉快地捣乱.不幸的是,我还不知道Lisp,所以我遇到了基础问题.
在修好肌肉记忆之前,我已经重新设计了几个按键:
(global-set-key (kbd "<f9>") 'recompile)
Run Code Online (Sandbox Code Playgroud)
没关系.但是,如何判断"模拟按几个键"键?例如,我不知道,<f1>做同样的事情C-u 2 C-x }(用两个字符加宽缓冲区).
一种方法是查找C-x }调用shrink-window-horizontally,并做一些lambda事情.这当然是整洁而优雅的方式(你怎么做?).但肯定有一种方法来定义<f1>发送击键C-u 2 C-x }?