- vim 对修改过的缓冲区会区别对待,放在意外退出
- 本节介绍如何隐藏已修改的缓冲区
- 介绍如何在退出Vim时处理隐藏缓冲区
- 打开文件
- 输入
Go
(跳到最后一行,后面插入一个空行),不保存后输入:ls
发现第一个文件多一个+
,说明有未保存的修改(保存后+
消失)
- 如果不保存修改就直接切换缓冲区,会报错:
- 如果输入
:bn!
可以强制切换,但是显示不一样:
下图显示所有的处理缓冲区的策略
- 如果有隐藏缓冲区,则退出时,会提示下图,并把当前窗口切换为第一个修改的隐藏缓冲区:
- 如果需要保存当前缓冲区,则执行
:write
把当前缓冲区保存到文件
:edit!
则放弃更改
-
如果有多个隐藏缓冲区被修改,则每处理一个(
:write
或:edit!
)之后下一个自动跳到屏幕上 -
:qall!
放弃所有的隐藏缓冲区修改,直接退出 -
:wall
保存所有的缓冲区修改
:argdo write
也可以保存所有的缓冲区修改
运行:argdo
或:bufdo
之前,最好启用hidden
- 否则在执行下图的指令时,假如第二条
{cmd}
指令修改了缓冲区,则第三条指令不能切换,导致后面的指令都停止 hidden
参数强制不提示
上一篇 | 下一篇 |
---|---|
技巧37 用参数列表将缓冲区分组 | 技巧39 将工作区切分成窗口 |