在Vim中重置缓冲区

时间:2020-03-06 14:59:24  来源:igfitidea点击:

是否可以将vim会话中的备用缓冲区重置为以前的缓冲区?

备用缓冲区是指#所指的缓冲区,即输入cntl- ^时显示的缓冲区。

说我有两个文件打开main.c和other.c,而:ls给我:

1 %a   "main.c"              lines 27
  2 #    "other.c"             lines 56

假设我打开了另一个文件,例如refer.c,:ls现在会给我:

1 %a   "main.c"              lines 27
  2      "other.c"             lines 56
  3 #    "refer.c"             lines 125

如果删除包含Refer.c的缓冲区,则:ls现在显示:

1 %a   "main.c"              lines 27
  2      "other.c"             lines 56

但是,如果我执行cntl- ^,则refer.c将再次显示!

有什么方法可以使vim将备用缓冲区重置为自动恢复的状态?备用缓冲区的"历史"?

还是我坚持用:2 b将other.c重新加载到备用缓冲区中?

也许有这种行为的充分理由?

解决方案

在这种情况下,"替代"仅表示"上一个"。因此,是的,:b2(或者2 ctrl-6)可能是更改ctrl-6切换哪个两个缓冲区的最简单方法。

另外,看看:keepalt命令。