E138: Can't write viminfo file /home/xxx/.viminfo!
原因
进入/home/xxx/目录下,用ls -a你会发现有很多.viminfa.tmp - .viminfz.tmp 这种的临时文件,这是因为使用vim编辑器时,如果编辑器没有正常退出就会生成一个暂存文件,供下次恢复使用。而这个错误是因为生成大量.viminf*.tmp的临时文件没有被系统自动删除,使得vim每次向.viminfo中写入信息时,无法判断该写入哪个信息。
解决方案
进入报错的目录/home/xxx/,然后执行命令:rm -f .viminf*.tmp 即可。