您好我正在尝试通过将 ctrl k 映射到 ctrl + w ,k所以我可以按 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
但是,如果按 ctrl + k ,那么会发生奇怪的事情。它会根据我在文档中的位置而改变。
我已经测试并删除上述行导致症状停止发生。我真的很困惑发生了什么!
一些信息:我正在通过命令行使用macvim附带的vim二进制文件。
非常感谢任何帮助!
谢谢!
答案 0 :(得分:4)
我无法解释第二个问题,但是如果你直接从vimrc粘贴了所有东西,那么你就有很多不能存在的尾随空格。它可以解释第一个问题。尝试运行
:%sm/\s\+$
然后保存并查看问题是否消失。如果是这样,请使用
:set list listchars=trail:-
能够看到尾随空格,这样您就不会再遇到这个问题了。
答案 1 :(得分:2)
可能<C-k>
已映射到其他内容。试试:verbose map <C-k>
。
答案 2 :(得分:0)
也许您的映射是在视觉或操作员映射中触发的,其中<c-w>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
,仅在正常模式下触发。