加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-16 01:53:03 所属栏目:安全 来源:网络整理
导读:我正在使用本地和远程tmux会话. 要将命令发送到本地tmux,我使用Ctrl-a和远程Ctrl-q. 我试图在 vim中禁用通常用Ctrl-a执行的数字增量,但现在用Ctrl-q触发,我找不到禁用它的方法. 顺便说一下,只有在特定的tmux窗口没有嵌套远程窗口时才会发生这种情况. 此外,我
我正在使用本地和远程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<>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读