我刚刚在Vim中运行:help registers
并注意到#
'包含备用文件的名称'。
我看过一个重命名文件的例子,如下所示:
" Save the current file, foo.txt, as bar.txt
:w bar.txt
" Start editing bar.txt
:e#
显然,在这种情况下,您刚刚保存的文件是“备用文件”。
有人可以给我一个更为一般的“备用文件”定义以及你可以用它做什么吗?
答案 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 :(得分:6)
我在缓冲区上下文中使用它来返回我正在编辑的最后一个缓冲区
vim foo bar
:n
:e#
在这种情况下,将带你回到foo
答案 3 :(得分:2)
我总是将“备用文件”解释为“上一个文件”,因此它是一种方便的方式来跳回到您正在编辑的缓冲区。