在Vim中将<c-w>映射为“<c-w> w”</c-w> </c-w>

时间:2014-12-11 18:02:51

标签: vim vim-plugin

我无法激活以下映射:

  nnoremap <buffer> <C-K> <c-w>w
  nnoremap <buffer> <C-S-K> <c-w>W

在哪里,我想要&#34;在正常模式下按Ctrl + K&#34;以顺时针方式将我发送到下一个缓冲区(同一屏幕)。 Vim中的<c-w>W将朝另一个方向发展。我想将此操作映射为Ctrl+Shift+w

知道映射失败的原因吗?我发现只有latex-suite.vim的映射为<c-w>且没有映射<c-s-w>。插件映射只是缓冲区。

感谢您的投入。

一切顺利,

-Linfeng

1 个答案:

答案 0 :(得分:0)

使用<buffer>关键字,您的映射仅适用于当前缓冲区。因此,当您在~/.vimrc中使用它们时,它们并不有效,如果您输入它们,则需要在多个窗口拆分中显示相同的当前缓冲区。我不认为这就是你想要的。相反,将它们定义为全局映射:

nnoremap <C-K> <c-w>w
nnoremap <C-J> <c-w>W

修改:我已将<C-S-K>替换为<C-J>,因为转移的控制序列通常在Vim中不可用,不幸的是。

使用nnoremap <buffer> <C-K>的某些文件类型插件仍然会覆盖它们。

替代

我更喜欢以下一组方向映射。它们以浪费更多密钥为代价提供更高的精度:

nnoremap <C-j> <c-w>j
nnoremap <C-k> <c-w>k
nnoremap <C-h> <c-w>h
nnoremap <C-l> <c-w>l