背景
我在升级了vim8以后,兴高采烈的按照教程做了个性化设置,过了几天发现退格键(backspace)不能用了。
网上搜索
百度里到处都是千篇一律的答案,来回转载,还有点进去给一个链接的。
1.去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限
编辑家目录下的.vimrc文件,添加一行:set nocompatible
2.backspace有几种工作方式,默认是vi兼容的。
对新手来说很不习惯。对老vi 不那么熟悉的人也都挺困扰的。可以用
set backspace=indent,eol,start来解决
indent: 如果用了:set indent,:set ai 等自动缩进,想用退格键将字段缩进的删掉,必须设置这个选项。否则不响应。
eol:如果插入模式下在行开头,想通过退格键合并两行,需要设置eol。
start:要想删除此次插入前的输入,需设置这个。
将以上两个命令加到vim的系统配置文件里就可以了。通过vim命令:ver可以看到系统配置文件的位置,一般在/etc/vimrc
这个回答看起来有理有据,字段都解释清楚了,但是我在/etc/vimrc中怎么来回改都没用。
本质
我开始思考/etc/vimrc有没有发挥作用。于是我搜索了“如何查看vimrc”,第一个答案有
输入查看命令: :echo $MYVIMRC
我执行了这个命令,响应“/root/.vimrc”。
这里面果然没有相关设置,里面是我按照个性化设置搞得乱七八糟代码。
添加set nocompatible和set backspace=indent,eol,start
果然好了。
思考
出现问题,要追根溯源,一步到了终点,可能会忽略过程。
拿着网上的“标准答案”,往往让你更加难解决问题。