MinGW下的vim在默认情况下会与Linux下的vim不太一样,比如MinGW中默认的vim配置,退格键(backspace)就不起作用。如果退格键不起作用(不管是MinGW、MacOS,还是Linux),一般都是配置问题导致,可以自行配置backspace功能。

当Vim启动时,会检查名为.vimrc的文件是否存在,如果找到了该文件,则会在启动时自动加载其内容作为配置。通过将喜爱的配置保存到.vimrc文件中就可以让Vim在启动时自动应用这些配置。

Vim会在许多地方查找.vimrc文件(参见:h vimrc)。在Unix系统(包括Linux、MacOS以及MinGW)中,Vim查找的路径为~/.vimrc,即用户目录下;在Windows系统中为$HOME/_vimrc。如果不知道.vimrc的存储位置,无论是运行在哪个系统中都可以通过以下命令在Vim的内部打开该文件:

1:edit $MYVIMRC

$MYVIMRC是Vim的一个环境变量,它被扩展为.vimrc的文件路径。对.vimrc文件完成修改后,可以使用下面的命令来加载新的配置:

1:source $MYVIMRC

如果.vimrc文件恰好是当前活动的缓冲区,则可以把此命令简化为

1:so %

我们知道怎么编辑.vimrc文件了,下面就来解决退格键不起作用的问题。

  • 编辑.vimrc 在.vimrc中添加如下两行
1set nocompatible
2set backspace=indent,eol,start
  • set nocompatible vim可能处于兼容模式,需要使用set nocompatible来设置它,处于非兼容模式。
  • set backspace=indent,eol,start indent:如果用了
1:set ai

自动缩进,想用退格键将字段缩进的删掉,必须设置这个选项。否则不响应。

eol:如果插入模式下在行开头,想通过退格键合并两行,需要设置eol。 start:要想删除此次插入前的输入,需设置这个。

  • 设置MinGW选项的按键 如图所示,在选项框的“按键”中勾选“退格键发送^H(B)”,并且不勾选后面的“删除键发送DEL(D)”。