在GNU屏幕中重新映射Ctrl-A


30

我已经使用GNU屏幕几天了,CTRL-A导航功能也开始在我身上使用。如何重新映射此键组合,这些键有哪些常见替代品?例如,在Vim中,我使用jj代替,<esc>因为它不需要我破坏输入形式。

注意: Alex解释了如何映射键组合,但是,添加绑定.screenrc对我不起作用。我添加到它,etc\screenrc并且有效。该.screenrc方法似乎适用于大多数人,我不确定为什么不能在我的系统上使用它。

Answers:


26

为此CTRL+J,请在中使用以下内容.screenrc

escape ^Jj

要引用联机帮助页

 escape xy

将命令字符设置为x,将生成文字命令字符(通过触发“ meta”命令)的字符设置为y(类似于-e选项)。每个参数都是单个字符,格式为“ ^ x”(表示“ Cx”)的两个字符的序列,反斜杠后跟一个八进制数字(指定字符的ASCII码)或反斜杠后跟一个第二个字符,例如“ \ ^”或“ \”。默认值为“ ^ Aa”。


进行更改后,CTRL+J功能CTRL+A是否正确?
Dru 2012年

escape ^Jj^在根目录的.screenrc文件和用户主目录的文件中。我重新启动了屏幕,还重新启动了我所在的ssh会话。这些都不起作用,我希望CTRL+J表现为CTRL+A
Dru 2012年

最后,您是否还有其他插入符号?应该是escape ^Jj,不是escape ^Jj^
亚历克斯·赫泽尔

1
也许与其他绑定有冲突,但是我尝试了几个键。
Dru 2012年

5
您也可以只按Ctrl + a,然后输入':scape ^ Jj'(如vi中一样)以动态更改映射。
抹布

14

与@Alex Hirzel的解决方案类似,但我更喜欢使用键盘绑定Ctrl + ^(Ctrl + Shift + 6),因为它从未在emacs键盘绑定中使用。

只需输入~/.screenrc如下内容:

escape ^^^
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.