gpt4 book ai didi

vim - 为什么 vim gt 命令没有按预期设置备用文件?

转载 作者:行者123 更新时间:2023-12-01 16:43:05 25 4
gpt4 key购买 nike

不带任何参数启动 vim,并执行此实验。下面实验中使用的文件a、b、c、d可以不存在。

  1. 执行:e a
  2. 执行:tabe b
  3. 执行:tabe c
  4. 执行:tabe d
  5. 执行:ls
  6. Enter删除上一个命令的输出
  7. 执行gt
  8. 执行:ls

这是第 5 步的输出。

:ls
1 a "a" line 0
2 a "b" line 0
3 #a "c" line 0
4 %a "d" line 1
Press ENTER or type command to continue

这表明“c”是备用文件(用#标记),“d”是当前文件(用%标记)。到目前为止,我们已经看到了文档中预期的内容。如果存在现有的当前文件,那么当我们将其他文件设为当前文件时,它就成为备用文件。

但是第8步的输出如下。

:ls
1 %a "a" line 1
2 a "b" line 0
3 a "c" line 0
4 a "d" line 0
Press ENTER or type command to continue

现在“a”已按预期成为当前文件。它被标记为%。但“d”现在还没有成为备用文件。文件“d”不再用 # 标记。为什么“d”没有成为备用文件?

最佳答案

“备用文件”是您之前编辑过的文件。

在实际切换缓冲区之前,重要的是缓冲区的创建顺序,而不是访问顺序。

您编辑了a,然后是b,然后是c,然后是d:

  • ab 的“备用文件”,
  • bc 的“备用文件”,
  • cd 的“备用文件”。

因为 a 是您编辑的第一个文件,所以没有“上一个文件”,因此它没有“备用文件”。

因为 d 是您编辑的最后一个文件,所以它不是任何内容的“备用文件”。它将是您编辑的下一个文件的“备用文件”。

gt 没有使 d 成为 a 的“备用文件”,因为您没有编辑 a > 在 d 之后,甚至在 a 之后 d

d中执行:b a或另一个:tabedit a,您将得到d作为“备用a 的文件”。

正如其他人所指出的,您遇到的问题是使用选项卡页面的许多缺点之一,就像您在其他编辑器中使用选项卡一样。它们能够很好地解决它们旨在解决的问题,但如果您坚持将它们视为文件代理,那么它们有数百万种糟糕的方法。

“备用文件”的整个概念是一种导航功能,适用于缓冲区。

关于vim - 为什么 vim gt 命令没有按预期设置备用文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23252858/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com