9.2.4 vim 的暂存盘、救援回复与打开时的警告讯息

简介: 9.2.4 vim 的暂存盘、救援回复与打开时的警告讯息

当我们在使用 vim 编辑时, vim 会在与被编辑的文件的目录下,再创建一个名为.filename.swp 的文件。 比如说我们在上一个小节谈到的编辑 /tmp/vitest/man_db.conf 这个文件时, vim 会主动的创建 /tmp/vitest/.man_db.conf.swp 的暂存盘,你对 man_db.conf 做的动作就会被记录到这个 .man_db.conf.swp 当中。


如果你的系统因为某些原因断线了, 导致你编辑的文件还没有储存,这个时候 .man_db.conf.swp 就能够发挥救援的功能了。

当我们在 vim 的一般指令模式下按下 [ctrl]-z 的组合按键时,你的 vim 会被丢到背景去执行!

由于暂存盘存在的关系,因此 vim 会主动的判断你的这个文件可能有些问题,在上面的图示中 vim 提示两点主要的问题与解决方案,分别是这样的:


问题一:可能有其他人或程序同时在编辑这个文件:


由于 Linux 是多用户多任务的环境,因此很可能有很多人同时在编辑同一个文件。如果在多人共同编辑的情况下, 万一大家同时储存,那么这个文件的内容将会变的乱七八糟!为了避免这个问题,因此 vim 会出现这个警告窗口! 解决的方法则是:


找到另外那个程序或人员,请他将该 vim 的工作结束,然后你再继续处理。


如果你只是要看该文件的内容并不会有任何修改编辑的行为,那么可以选择打开成为只读(O)文件, 亦即上述画面反白部分输入英文“ o ”即可,其实就是 [O]penRead-Only 的选项。


问题二:在前一个 vim 的环境中,可能因为某些不知名原因导致 vim 中断(crashed):


这就是常见的不正常结束 vim 产生的后果。解决方案依据不同的情况而不同。常见的处理方法为:


如果你之前的 vim 处理动作尚未储存,此时你应该要按下“R”,亦即使用 (R)ecover 的项目, 此时 vim 会载入 .man_db.conf.swp 的内容,让你自己来决定要不要储存!这样就能够救回来你之前未储存的工作。 不过那个 .man_db.conf.swp 并不会在你结束 vim 后自动删除,所以你离开 vim 后还得要自行删除.man_db.conf.swp 才能避免每次打开这个文件都会出现这样的警告!


如果你确定这个暂存盘是没有用的,那么你可以直接按下“D”删除掉这个暂存盘,亦即 (D)elete it 这个项目即可。 此时 vim 会载入 man_db.conf ,并且将旧的.man_db.conf.swp 删除后,创建这次会使用的新的 .man_db.conf.swp。


至于这个发现暂存盘警告讯息的画面中,有出现六个可用按钮,各按钮的说明如下:


[O]pen Read-Only:打开此文件成为只读文件, 可以用在你只是想要查阅该文件内容并不想要进行编辑行为时。一般来说,在上课时,如果你是登陆到同学的计算机去看他的配置文件, 结果发现其实同学他自己也在编辑时,可以使用这个模式;


(E)dit anyway:还是用正常的方式打开你要编辑的那个文件, 并不会载入暂存盘的内容。不过很容易出现两个使用者互相改变对方的文件等问题。


(R)ecover:就是载入暂存盘的内容,用在你要救回之前未储存的工作。 不过当你救回来并且储存离开 vim 后,还是要手动自行删除那个暂存盘。


(D)elete it:你确定那个暂存盘是无用的!那么打开文件前会先将这个暂存盘删除!这个动作其实是比较常做的!因为你可能不确定这个暂存盘是怎么来的,所以就删除掉他。


(Q)uit:按下 q 就离开 vim ,不会进行任何动作回到命令提示字符。


(A)bort:忽略这个编辑行为,感觉上与 quit 非常类似! 也会送你回到命令提示字符就是。

相关文章
|
存储 Linux 开发工具
【Linux】vim打开文件的警告信息
【Linux】vim打开文件的警告信息
231 0
【Linux】vim打开文件的警告信息
|
19天前
|
Linux 开发工具
Linux的学习之路:5、粘滞位与vim
Linux的学习之路:5、粘滞位与vim
40 0
|
2月前
|
NoSQL Linux 编译器
Linux:vim调试工具gdb | 常见命令集
Linux:vim调试工具gdb | 常见命令集
84 0
|
2月前
|
Linux 编译器 开发工具
Linux:详解(yum的使用、vim编辑器命令集合以及gcc/g++编译器的使用)
Linux:详解(yum的使用、vim编辑器命令集合以及gcc/g++编译器的使用)
124 1
|
2月前
|
Linux Shell 开发工具
【linux】Linux编辑器-vim
【linux】Linux编辑器-vim
57 0
|
1月前
|
搜索推荐 NoSQL Linux
Linux开发工具——vim篇
Linux开发工具——vim篇
|
1月前
|
Ubuntu Linux 编译器
【Linux】4. 开发工具的使用(yum/vim)
【Linux】4. 开发工具的使用(yum/vim)
45 2
|
2月前
|
Linux 编译器 开发工具
Linux学习第二枪(yum,vim,g++/gcc,makefile的使用)
Linux学习第二枪(yum,vim,g++/gcc,makefile的使用)
|
2天前
|
弹性计算 Unix Linux
Linux:文本编辑器 - vim
Linux:文本编辑器 - vim
9 1
|
3天前
|
Unix Shell Linux
在 Linux 上把 Vim 配置为默认编辑器
在 Linux 上把 Vim 配置为默认编辑器