有没有办法将屏幕上的 Control-a 重新映射到 Alt-a 或其他东西,以便我可以正常使用 Vim 中的 Control-A(增加光标下的数字)?
答案1
从man screen
:
-e xy
指定命令字符为 x,生成文字命令字符的字符为 y(在命令字符后键入时)。默认值为“Ca”和“a”,可以指定为“-e^Aa”。创建屏幕会话时,此选项设置默认命令字符。在多用户会话中,所有添加的用户都将以此命令字符开始。但是,当连接到已运行的会话时,此选项仅更改附加用户的命令字符。此选项分别相当于命令“defescape”或“escape”。defescape xy
设置默认命令字符。这相当于“escape”,只是它只在多用户会话中有用。在多用户会话中,“escape”会更改调用用户的命令字符,而“defescape”会更改稍后添加的用户的默认命令字符。escape xy
将命令字符设置为 x,将生成文字命令字符(通过触发“meta”命令)的字符设置为 y(类似于 -e 选项)。每个参数要么是单个字符,要么是形式为“^x”(表示“Cx”)的双字符序列,要么是反斜杠后跟八进制数(指定字符的 ASCII 码),要么是反斜杠后跟第二个字符,例如“\^”或“\”。默认值为“^Aa”。
答案2
在屏幕上,只需输入“Ca a”,而不是只输入“Ca”
即按“Control-a”,然后再次输入“a”。光标下的数字将增加!
答案3
找到了一个可能的解决方案:
在 Vim 中映射一些不相关的东西,就像这样:map <Leader>inc<CR> <C-a>
这不是一个完美的解决方案,甚至可能不是“正确”的解决方案,但目前它是有效的。
答案4
我的问题与您的问题正好对称:我想继续以通常的方式使用屏幕,使用通常的 Control-A,并且使用 vim 中的增量。
我刚刚将这两行添加到我的 .vimrc 文件中:
:nnoremap <A-a> <C-a>
:nnoremap <A-x> <C-x>
,所以现在我在 vim 中使用 Alt-A 和 Alt-X 来增加和减少数字。