windows - 从 vim session 中删除缓冲区

标签 windows vim

我在保存 session 之前是否没有正确删除缓冲区?它似乎在我打开的每个缓冲区上。我将 gvim 与标准 :tabe:tabnew 命令一起使用。

  1. gvim 的干净启动
  2. 我用 :tabe 打开一些标签,做一些工作
  3. :mksession! ~/session 保存我的 session 状态
  4. 不需要缓冲区 #14,:14bd
  5. :ls 确认 #14 已被删除
  6. :mksession! ~/session 再次保存 session
  7. 完成当天的工作,:qa
  8. 第二天加载gvim,:so ~/session
  9. 缓冲区 14 仍然存在!!
  10. ???
  11. 没有利润

最佳答案

保存/恢复 session 时不会保留缓冲区编号。因此,如果您有 15 个打开的缓冲区并删除一个,您将有 14 个缓冲区。当 session 恢复时,这 14 个缓冲区将被赋予从 2 到 15 的编号,无论它们之前的编号是什么(编号 1 在 vi​​m 启动时被未命名的缓冲区占用,它将被 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/

相关文章:

windows - psql shell 使用代码页 850,windows 使用 1252。如何解决更改控制台代码页?

windows - 从 Windows 中的\文件夹中删除非 native 计划任务

c - 在 Mac 上的 Homebrew 安装的 Vim 中添加 clang 完成

javascript - 在 Coffee.vim 中修改注释突出显示时出现问题

PHP 使用参数参数在服务器上运行可执行文件

windows 命令行 多个命令

c++ - 如何在 Windows 8 和 10 中枚举已安装的 StoreApps 及其 ID

flash - 让 VIM 在 Actionscript 中变得高效,比如 Flex

vim supertab,寻找插入标签的最佳方式

vim - 在 Vim 中的替换内替换