我不知道 Bram 爷爷是出于什么考虑的,居然发明了一个 mswin.vim 文件,用于在 VIM 里面模仿一些常用的快捷键,如什么“Ctrl + A”全选、“Ctrl + C”复制、“Ctrl + V”粘贴等等。
我不知道在 VIM 里仿制一堆 Ctrl + C、Ctrl + V、Ctrl + X 和 Ctrl + Z 能给用户带来什么好处。关键问题在于,这些快捷键与 VIM 本身的快捷键有不少是冲突的。Bram 爷爷定义了这些快捷键后,将部分原有的快捷键映射成了别的键,例如把“Ctrl + V”(矩形块选择)改成了粘贴,而原有的“Ctrl + V”改成了“Ctrl + Q”;还有部分快捷键就彻底没有了,如原有的“Ctrl + A”(将当前光标所在的数字加 1)改成了全选,而原有的相应功能就找不到了。通过 mswin.vim,我们能够得到的好处非常有限,却损失了更大的好处。
更大的问题在于,Windows 下的 gvim 系统默认的配置文件里面,居然 source 了 mswin.vim。这样,便有无数的初学者,对照着 VIM 的用户手册上的命令进行练习,却无法得到手册上说的正常结果,带来了无数困惑。
VIM 是一个很特殊的编辑器,它有自己独特的一套操作方式,以至于独特到在使用它的时候都不会联想到任何别的编辑器,更不会联想到任何 Windows 下其它编辑器所具有的的操作方式(以前似乎有人说过 Windows 下那套快捷键是抄袭苹果的,具体情况我就不知道了,对于自己不了解情况,我不敢多说)。因此,在 VIM 下使用 Windows 其它编辑器里定义的那套热键,我觉得意义并不大。如果习惯了被扭曲了的 VIM 使用方式,到了真正的 Unix 环境下,反而可能会非常不习惯(当然,Unix 环境下你仍然是可以 source mswin.vim 的,不过由于 mswin.vim 让我们丢失了太多快捷键,所以我们还是别用它了吧)。
可是就目前而言,gvim for Windows 默认 source mswin.vim 已经成为事实了,我不能改变它。而 Bram 爷爷由于很久以前就已经让 gvim for Windows 默认 source 了 mswin.vim,可能已经有许许多多用户习惯了那种畸形的操作方式,因此他也无法纠正这个事实了。目前,我所能做的唯一的事情就是,让那些刚刚步入 VIM 大门的新用户,不要去习惯那一套操作方式。于是,我尽我所能到处呼吁:“请初学者务必编写自己的 .vimrc!如果你不会写,请放一个空文件在那儿。”