寻找一种方法来重新映射screen
sC-a
或^a
(默认命令)绑定,Alt-a
或^[a
通过使用易于记忆的一次性命令/开关。我知道这可以通过两个步骤实现,但也只能从屏幕本身 - 但是,理想情况下,我想screen
在启动它时将一些参数传递给 s 命令行。我正在寻找的是类似于Tmux
s 命令的东西set prefix M-a
(或者更确切地说是类似的东西,因为 afaikscreen
不理解 Alt/Meta 键的这种人类友好的语法)。如果我可以将此默认值重新映射^a
到,那就更好了AltGr-a
尝试以下:
1. $ screen -e '\0033''\0141'
这些值取自 showkey:
$ # showkey -a
Press any keys - Ctrl-D will terminate this program
^A 1 0001 0x01 < Ctrl-a
^[a 27 0033 0x1b < Alt-a yields 2 lines : first line
97 0141 0x61 < Alt-a second line
其中第一行是C-a
按键。第 2 行和第 3 行是Alt-a
单一、同时按键。屏幕确实看到了 2 个字符(按照要求,-e
但未能按照我的预期映射它们。
- 从内部屏幕来看,我希望能够以某种方式利用该
-k
选项bindkey
,如其中的示例所示手动的,其中写着:
命令:bindkey [opts] [细绳[命令参数]]
论点'细绳' 是绑定动作的字符序列。这可以是固定字符串或术语帽键盘功能名称(可使用“-k”选项进行选择)。
问题是在哪里可以找到Alt / AltGr
密钥的“Termcap”条目。 man termcap
什么也没显示。
另外,也许这个SE答案会有帮助,但我无法找出正确的语法
对于那些建议改用的人Tmux
:
- 我必须在许多不同的服务器上进行 ssh,并且它的默认键绑定对我来说很尴尬,包括更改窗口、无法
C-b C-b
跳回到上一个服务器(必须C-b l
为此使用); - 无会话锁定
- 我的屏幕“肌肉记忆”
- 以及其他一些问题,如果需要的话我会记住的;)
甚至重新映射 AltGr
<->Ctrl
将是一个足够好的解决方案,只要它不涉及任何与 X 相关的程序,因为服务器是X
免费的(未受到 X 污染)。
答案1
我经常想知道选择 ^A 作为 gnu 屏幕的命令字符,因为它在 readline 等中很有用,这使得它成为我经常使用的按键。
无论如何,我使用 ^X 代替(因为它不经常用于其他用途)。
将其添加到您的 .screenrc 中:
escape ^Xa
(从https://www.gnu.org/software/screen/manual/screen.html#index-escape-character):
逃逸xy
将命令字符设置为 x,将生成文字命令字符(通过触发元命令)的字符设置为 y(类似于 -e 选项)。每个参数可以是单个字符、^x(表示 Cx)形式的双字符序列、反斜杠后跟八进制数(指定字符的 ASCII 代码),或者反斜杠后跟第二个字符,例如如 ^ 或 \。默认为 ^Aa。之三,例如 ^ 或 \。默认为 ^Aa。