linux (gnu-) 屏幕:“一次性”将 Ctrl-a(默认命令键)重新映射到 Alt-a

linux (gnu-) 屏幕:“一次性”将 Ctrl-a(默认命令键)重新映射到 Alt-a

寻找一种方法来重新映射screensC-a^a(默认命令)绑定,Alt-a^[a通过使用易于记忆的一次性命令/开关。我知道这可以通过两个步骤实现,但也只能从屏幕本身 - 但是,理想情况下,我想screen在启动它时将一些参数传递给 s 命令行。我正在寻找的是类似于Tmuxs 命令的东西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但未能按照我的预期映射它们。

  1. 从内部屏幕来看,我希望能够以某种方式利用该-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。

相关内容