打开文件后,没有进行任何编辑后退出,或者编辑后保存退出,vi报错:“E138: Can't write viminfo file [NULL]!”。网上搜了搜,找到了一篇文章讲的很详细,现归纳过来。
从报错来看是无法写入viminfo。用google直接搜索该错误信息,就搜到了引用的那篇文章。其具体意思是:在将vi使用的相关信息向".viminfo"文件写入前,会将相关信息保存在“.viminf*.tmp”文件中;将信息写入“.viminfo”后,系统将自动删除该“.viminf*.tmp”文件。此处,“.viminfo”和“.viminf*.tmp”文件均在/root/目录下(我觉得应该是该用户的home目录下,而我是用root登录,所以是在/root/下)。而造成此报错的原因是:生成大量的“.viminf*.tmp”(即每次调用vi后的vi使用相关信息)并没有被系统自动删除,而是一直存在于该文件夹中,使得vi每次向“.viminfo”中写入使用信息时,无法判断该写入哪个信息。
具体解决方法是:进入/root/目录,删除该文件夹下所有“.viminf*.tmp”(搜索到的文章中写到也可以删除“.viminfo”,我没有删除,不过觉得无关紧要,这个文件应该是在vi首次使用后创建的,如果删除了该文件,vi会重新创建的),在重新使用vi,一切就正常运行了。
google到的文章链接:
阅读(4819) | 评论(0) | 转发(0) |