我在保存 session 之前是否没有正确删除缓冲区?它似乎在我打开的每个缓冲区上。我将 gvim 与标准 :tabe
和 :tabnew
命令一起使用。
- gvim 的干净启动
- 我用
:tabe
打开一些标签,做一些工作 :mksession! ~/session
保存我的 session 状态- 不需要缓冲区 #14,
:14bd
:ls
确认 #14 已被删除:mksession! ~/session
再次保存 session- 完成当天的工作,
:qa
- 第二天加载gvim,
:so ~/session
- 缓冲区 14 仍然存在!!
- ???
- 没有利润
最佳答案
保存/恢复 session 时不会保留缓冲区编号。因此,如果您有 15 个打开的缓冲区并删除一个,您将有 14 个缓冲区。当 session 恢复时,这 14 个缓冲区将被赋予从 2 到 15 的编号,无论它们之前的编号是什么(编号 1 在 vim 启动时被未命名的缓冲区占用,它将被 session 文件关闭)。因此,检查 session 文件创建的 #14 缓冲区是否与旧的 #14 缓冲区具有相同的文件名。
更新:我检查了 session 文件,发现 args
命令很可能是导致问题的原因。我说缓冲区 #14 是从 shell 打开的吗?尝试创建以下命令并使用它代替 bd
:
command -nargs=? -bang BW :silent! argd % | bw<bang><args>
关于windows - 从 vim session 中删除缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5238251/