gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 15:57:35 25 4
gpt4 key购买 nike

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

那么有没有办法完全禁用该功能?
一个理想的解决方案是用一个什么都不做的函数来覆盖它。
这是一个非常狡猾的命令,因此我过去有一些非常糟糕的调试经验!

我的 tmux.conf:

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

然后在 vim 中,我尝试禁用 Ctrl-a 和 Ctrl-q 并无操作。

这是我的 vimrc:
...
map <Ctrl-A> <Nop>
map <Ctrl-Q> <Nop>
...

我也试过为 Ctrl-a 输入条目和 Ctrl-q但仍然 Ctrl-q做增量。
我认为问题是因为 tmux 收到 Ctrl-q然后将它作为前缀发送,我的额外映射以某种方式没有捕获它。

干杯,
帕斯卡利斯

最佳答案

为什么它不起作用
Ctrl不是 vim 认可的 <>表示键盘的 Control 键的符号。

推荐

要禁用 Control-a 触发默认的 vim 自动递增数字:

  • 在您的 ~/.vimrc ,正如@Marth 所说,使用 <C-a> :
    map <C-a> <Nop>
  • 保存 :w
  • :so ~/.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 <>
  • 关于vim - 禁用映射到 Ctrl-a 的良好 VIM 的数字增量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36601789/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com