Vim 中的 CTRL-K 产生意外结果

ale*_*ose 5 vim

嗨,我正在尝试通过映射ctrlkctrl+ w, k来优化 vim 中的窗口管理,因此我只需按ctrl+k即可切换到我正在使用的窗口上方的拆分窗口(我正在为 h、j 和 l 执行此操作)也只是 k 导致了问题)。

我已将此添加到我的 .vimrc

noremap <silent> <c-k> <C-W>k                                                                                                                
noremap <silent> <c-j> <C-W>j                                                                                                      
noremap <silent> <c-h> <C-W>h                                                                                                      
noremap <silent> <c-l> <C-W>l
Run Code Online (Sandbox Code Playgroud)

但是,如果我按ctrl+ k,则会发生一些奇怪的事情。它根据我在文档中的位置而变化。

  • 如果我在光标下方有很多行的文档顶部,光标会跳下几行和几列到一个完全不同的地方。
  • 如果我在文档底部,它会从光标开始创建大量空格。

我已经测试并删除上述行会导致症状停止发生。我真的很困惑发生了什么!

一些信息:我正在通过命令行使用 macvim 附带的 vim 二进制文件。

任何帮助将不胜感激!

谢谢!

ZyX*_*ZyX 5

我无法解释第二个问题,但是如果您直接从 vimrc 粘贴所有内容,那么您将有很多尾随空格不能存在。它可以解释第一个问题。尝试跑步

:%sm/\s\+$
Run Code Online (Sandbox Code Playgroud)

然后保存并查看问题是否消失。如果是这样,请使用

:set list listchars=trail:-
Run Code Online (Sandbox Code Playgroud)

能够看到尾随空格,这样您就不会再次遇到此问题。