这个问题应该大部分人遇到过, 就是在我们编辑文件的时候可能因为一些特殊原因, 比如断网, 比如机器突然离线等等原因导致我们最终无法正常保存编辑. 这里介绍下出现这种问题如何解决.
-
首先在使用
vim
编辑的时候会产生一个swp
文件, 类似于一个编辑缓冲存档. 该文件是隐藏状态, 必须使用ls -a
命令才能看到. -
我们重新连接上机器后, 再次打开该文件时, 一般会弹出类似如下图的提示:
意思就是说你这文件有个编辑缓存文档, 你要使用下面的哪个命令来继续操作?
"O" 是用只读操作打开.
"E" 是按照未保存之前的内容编辑(也就是恢复到你在断开连接之前的文档内容, 选择后 swp 文件还是存在的)
"R" 是继续编辑(断开之前编辑成什么样子就恢复成什么样子)
"D" 删除swp 文件, 同时把文件恢复为断开连接前未保存的文档.
"Q" 退出, 不操作. -
根据上面的提示, 我们一般选择
R
继续我们之前的编辑. 但是选择这个选项后那个swp
文件还是存在的. 之后可以再用rm -rf
的方式删除. -
另外还有一点需要说明的是, 当你在没有删除
swp
文件之前, 如果再次编辑同一文件并且在未保存下断开连接, 那么此时又会在目录下出现一个swo
文件, 如果再重复一下这个操作就是swn
文件…这个我只测试了三次, 瞎折腾. (๑ŐдŐ)b 然后发现每一次都会出现一个新的编辑缓存文档. 如下图:
-
此时编辑
main.go
并且选R
继续编辑, 会出现下面的提示:意思就是说, 现在你有3个缓存文件, 你要从哪个继续编辑. 分别按照时间先后顺序排列, 最前面的就是最新的那个, 所以我选 1, 然后回车, 底部出现 more 的英文. 按下方向键, 拉到底部. 再回车一下就进去了.