在Vim中,什么是“备用文件”?

时间:2011-03-03 15:32:19

标签: vim

我刚刚在Vim中运行:help registers并注意到#'包含备用文件的名称'。

我看过一个重命名文件的例子,如下所示:

" Save the current file, foo.txt, as bar.txt
:w bar.txt
" Start editing bar.txt
:e#

显然,在这种情况下,您刚刚保存的文件是“备用文件”。

有人可以给我一个更为一般的“备用文件”定义以及你可以用它做什么吗?

4 个答案:

答案 0 :(得分:24)

备用文件是在当前窗口中最后编辑的文件。实际上,当您使用某个命令打开一个新缓冲区时,如果显示的缓冲区有一个与之关联的文件名,则该文件名将被记录为备用文件名。

请参阅:help alternate-file

答案 1 :(得分:17)

对......非常有用。

粘贴在我刚查看当前文件的文件名中。

您可以在插入模式下使用<C-R>#或在正常模式下使用"#p

对......

没用

在两个文件之间来回跳转。它做得很好,但这只是我通常不需要做的事情。

即使在给出的示例中,我也可能会使用:saveas bar.txt

一个例子:

假设您正在进行一些C编程并想要调用某些函数。您不记得该函数的名称,因此您在当前位置mA上放置一个标记,并使用标签或grep跳转到几个不同的文件,以找出声明函数的位置以及它实际调用的位置。 / p> 啊 - 发现了。您可以复制名称并返回标记yiw'A

呃 - 哦 - 我们还需要#include文件!简单 - 只需使用备用文件名寄存器将文件名粘贴到... Gi#include"<C-R>#"

很高兴你避免了不得不回到函数声明并通过以下方式分散文件名:let @“= @%或类似的东西。

在文件之间跳转时我宁愿做什么:

  • 编辑两个文件时,拆分它们可能更容易,因此您可以同时将两个文件保留在屏幕上。如果我正在编辑2个文件,我通常会以某种方式比较它们。
  • 通常我对1-3个文件感兴趣(再加上我感到困惑)。我经常跳进或直接打开许多其他文件。标记有趣的文件,或遍历跳转列表通常是在这种情况下解决的方法。
  • 如果你正在编辑C / C ++,你要在文件和它的标题之间切换,请使用插件!它会更方便。

答案 2 :(得分:6)

我在缓冲区上下文中使用它来返回我正在编辑的最后一个缓冲区

vim foo bar 
:n 
:e#
在这种情况下,

将带你回到foo

答案 3 :(得分:2)

我总是将“备用文件”解释为“上一个文件”,因此它是一种方便的方式来跳回到您正在编辑的缓冲区。