【发布时间】:2016-04-13 14:38:18
【问题描述】:
我正在使用本地和远程 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 无操作。
这是我的 vimrc:
...
map <Ctrl-A> <Nop>
map <Ctrl-Q> <Nop>
...
我也尝试输入 Ctrl-a 和 Ctrl-q 的条目,但 Ctrl-q 仍然会增加。
我认为问题在于 tmux 接收到Ctrl-q,然后将其作为前缀发送,这在某种程度上没有被我的额外映射捕获。
干杯, 逾越节
【问题讨论】:
-
<C-a>为我工作(<Ctrl-A>没有)。顺便说一句,您可能需要nnoremap而不是map。 -
我看了答案,然后我注意到你推荐了
C而不是Ctrl!出于某种原因,我认为您只将大写 a 更改为小写! -
默认启用此增量功能(IMO)太糟糕了。它似乎旨在悄悄地在数据中引入错误......就像当我使用 Vim 快速更改数百个 UUID 列表的格式时,我发现在此过程中我不小心增加了其中的一些数字。啊!