微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

禁用映射到Ctrl-a的良好VIM数量增量

我正在使用本地和远程tmux会话.
要将命令发送到本地tmux,我使用Ctrl-a和远程Ctrl-q.
我试图在 vim中禁用通常用Ctrl-a执行的数字增量,但现在用Ctrl-q触发,我找不到禁用它的方法.
顺便说一下,只有在特定的tmux窗口没有嵌套远程窗口时才会发生这种情况.
此外,我认为远程tmux会话中仍可能存在快捷方式的组合,这也会触发增量.

那么有没有办法完全禁用该功能
一个理想的解决方案是用一个什么都不做的函数来覆盖它.
这是一个非常偷偷摸摸的命令,因为这个我过去有一些非常可怕的调试经验!

我的tmux.conf:

..
unbind C-b
set -g prefix C-a
bind-key -n C-q send-prefix
...

然后在vim中我尝试禁用Ctrl-a和Ctrl-q以及no-ops.

这是我的vimrc:

...
map <Ctrl-A> <nop>
map <Ctrl-Q> <nop>
...

我也尝试为Ctrl-a和Ctrl-q添加条目,但仍然按Ctrl-q进行增量.
我认为问题是因为tmux接收Ctrl-q然后将其作为前缀发送,这在某种程度上不会被我的额外映射捕获.

干杯,
PASCHALIS

解决方法

为什么它不起作用

Ctrl不是vim识别的<>用于表示键盘控制键的表示法.

建议

要禁用Control-在数字上触发认的vim自动增量:

>在〜/ .vimrc中,正如@Marth所说,使用< C-a>:

map <C-a> <nop>

>保存:w
>:所以〜/ .vimrc让它生效.

保证

>经测试可在Vim 7.4中使用
>您不需要在Vim中禁用Ctrl-q

说明

>不需要在Vim中禁用Ctrl-q,因为你的Tmux永远不会发送Ctrl-q,
>您发布的tmux.conf正在发送前缀,您将其定义为Ctrl-a,因此Vim仅接收Ctrl-a

因此,当您将Control-a映射到无操作指令时,您成功禁用了自动增量< nop>

进一步阅读

> Vim,:help<>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐