原来的
nnoremap <F2> :w<CR>
inoremap <F2> <Esc>:w<CR>a
map
有时不会为所有模式设置它。我不知道确切的原因,所以要确定我喜欢在我的配置文件中明确设置所有映射。我建议你也这样做,因为在某些情况下,由于不同的模式,你会得到意想不到的东西。这就是为什么仔细考虑您为每种特定模式所做的每次重新映射很重要的原因。
此外,支持*noremap
命令而不是*map
随处可见,因为递归映射是已知的错误来源,尤其是对于初学者。
最后,我不知道你想通过在可视模式下绑定文件写入来实现什么。您是否针对部分缓冲区写入(当您在可视模式下选择某些内容,然后点击此文件写入快捷方式并且只写入选定的文本时)?或者您是否希望在可视模式下写入整个文件,无论您在点击文件写入快捷方式时是否选择了任何内容?提供更多相关信息。就个人而言,无论哪种情况,视觉模式的映射都很奇怪,因为它实际上并没有缩进。将这些东西保持在正常模式下会更好。
更新
由于其他人已经对您的问题给出了详尽的答案,我只是认为如果加上我的 2 美分会有所帮助,但方向略有不同。通过查看您正在尝试做的事情,即在插入模式下映射涉及箭头键的导航功能,我可以推断您对 Vim 非常陌生。您可能已经知道,Vim 背后的理念是在 Vim 中工作时永远不要触摸鼠标——称之为黄金法则。
我现在要指出的是,我称之为银法则,它基本上是这样的:
noremap <Up> <Nop>
noremap <Down> <Nop>
noremap <Left> <Nop>
noremap <Right> <Nop>
inoremap <Up> <Nop>
inoremap <Down> <Nop>
inoremap <Left> <Nop>
inoremap <Right> <Nop>
换句话说,防止自己使用箭头键(命令行模式除外)。您的手指应该始终只在字符键区域。Vim 是关于模式的。插入模式不适用于导航 - 它适用于大量输入。当您使用代码或仅使用文本(没关系)时,您大部分时间都在正常模式下 -导航- 浏览文件,寻找下一个着陆的位置以便编辑某些内容,添加一些内容,即做你的下一个输入突发,您切换到插入模式,完成后切换回正常模式以寻找更多的肉 - 像捕食者。:)
那么这到底是怎么回事?我只是想从一开始就引导你走向正确的方向。这样你就可以很快成为中级 Vim 用户——只需几天。为了更好地了解上述所有内容,我建议您绝对应该观看Derek Wyatt 的Vim 新手视频教程,其中他更详细地讨论了所有这些内容,并在截屏视频中展示了这些内容。他还提供了中级和高级教程,当您对基础知识感到满意时,您也可以查看这些教程。
祝你快乐vimming!:)