Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vim 测绘<;c-w>;成为&书信电报;c-w>;w";精神抖擞_Vim_Vim Plugin - Fatal编程技术网

Vim 测绘<;c-w>;成为&书信电报;c-w>;w";精神抖擞

Vim 测绘<;c-w>;成为&书信电报;c-w>;w";精神抖擞,vim,vim-plugin,Vim,Vim Plugin,我无法激活以下映射: nnoremap <buffer> <C-K> <c-w>w nnoremap <buffer> <C-S-K> <c-w>W nnoremap w nnoremap W 其中,我希望“在正常模式下按Ctrl+K”以顺时针方式将我发送到下一个缓冲区(同一屏幕)W将转到另一个方向。我想将此操作映射为Ctrl+Shift+w 知道映射失败的原因吗?我发现只有latex-suite.vim有一个的

我无法激活以下映射:

  nnoremap <buffer> <C-K> <c-w>w
  nnoremap <buffer> <C-S-K> <c-w>W
nnoremap w
nnoremap W
其中,我希望“在正常模式下按Ctrl+K”以顺时针方式将我发送到下一个缓冲区(同一屏幕)W将转到另一个方向。我想将此操作映射为
Ctrl+Shift+w

知道映射失败的原因吗?我发现只有latex-suite.vim有一个
的映射,并且没有一个
被映射。插件映射仅为缓冲区

谢谢你的意见

祝你一切顺利

-Linfeng

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

nnoremap <C-K> <c-w>w
nnoremap <C-J> <c-w>W
nnoremap w
nnoremap W
编辑:我已将
替换为
,因为不幸的是,移位控制序列在Vim中通常不可用

使用
nnoremap
的某些文件类型插件仍然可以覆盖它们

可供替代的 我更喜欢下面的一组方向映射。它们提供了更高的精度,但代价是浪费了更多的关键点:

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

只是猜测,但是
'd映射只应用于当前缓冲区。也许,如果您将vimrc源代码放在您想要应用它的缓冲区中,它会工作。或者完全删除
前缀?这两个映射中哪一个会失败?还是他们都失败了?谢谢大家<代码>将拧紧映射对。还有,维姆不喜欢。我不认为维姆可以与其他人分开识别。@Ben:你说得对,所以可能需要一个备用键来进行反向操作。编辑了我的答案。谢谢或者,如果您想使用修改过的移位键,您可以经常使用alt映射而不是ctrl映射implement@Ben,考虑到Vim不会以任何方式识别它,我想我将在专门针对Vim窗口的AHK(自动热键)中实现它。谢谢你的确认。