:ls
1 #a + "README.md" line 2
4 %a "inject_test.lua" line 6
- 缓冲区列表前有一个+号,表示这个缓冲区被修改过了。
:ls
1 %a + "README.md" line 2
- :bnext!强制切换缓冲区(README.md切换到inject_test.lua)
- inject_test.lua被标记为a,表示它是活动缓冲区(active)
- README.md别标记为h,表示它是一个隐藏缓冲区(hidden)
:bnext!
:ls
1 #h + "README.md" line 2
4 %a "inject_test.lua" line 7
:quit
E37: No write since last change
E162: No write since last change for buffer "README.md"
Press ENTER or type command to continue
- 按任意键后会加载第一个有改动的隐藏缓冲区。这里会加载README.md
- :write 可以保存缓冲区,:edit!可丢弃修改,没有隐藏缓冲区时:q关闭Vim。
:write
:edit!
:q
qall!
:wall
- 启用了'hidden'选项就可以不带末尾的感叹号来执行:next、:bnext、:cnext。
:argdo
:bufdo
:cfdo