Screen命令禁用了控制键ctrl-a在vim中使用吗?

3

我有时使用screen linux命令打开vim,但由于ctrl-a被视为控制键,因此我无法在编辑器中使用相同的组合键递增数字。

我不想完全重新映射ctrl-a,但有没有一种方法可以禁用它,以便我可以在vim中使用它?


你可以按两次Ctrl-A将其发送到屏幕内的Vim。这样可以吗? - Ingo Karkat
@IngoKarkat,显然你从未使用过 screen Linux 命令,但还是感谢你的帮助。 - Sabrina
2
是的,我使用 tmux,在那里它的工作方式就像这样(只是 Ctrl-B 是默认前缀)。只是检查一下,对于 screen 来说应该是 Ctrl-A a。 - Ingo Karkat
@IngoKarkat,Ctrl-A两次不是Ctrl-A a。非常感谢,你真是太神奇了。 - Sabrina
那么,这是否已经回答了你的问题?或者,你也可以在Vim中重新映射增量操作。 - Ingo Karkat
啊,这很容易。对于那些无法自己在手册中找到这个问题的人来说,这仍然是一个好问题。我已经添加了完整的答案。祝你使用Vim愉快! - Ingo Karkat
2个回答

5
screen 中,你可以通过按下Ctrl-A,然后再按a来传递前缀键(参见这里)。在 tmux 中,这将是Ctrl-bCtrl-b。 这两者都可以在工具的配置文件中进行调整。
或者,您可以重新映射 Vim 中的增量,例如将以下内容放入您的~/.vimrc中:
noremap <C-q> <C-a>

1
你可以重新映射屏幕上的按键以使用另一个转义字符。我使用Ctrlt
.screenrc文件中:
escape ^Tt

这将把屏幕元字符映射到Ctrlt。它还将映射Ctrlt+t的文字序列,以便向在屏幕内运行的应用程序发送Ctrl-t
这将释放Ctrla,这样屏幕就不会使用它,并且它将被传递到Vim中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接