在Vim中,什么是;备用文件";?
我刚刚在Vim中运行了在Vim中,什么是;备用文件";?,vim,Vim,我刚刚在Vim中运行了:help registers,注意到#“包含备用文件的名称” 我看到了一个重命名文件的示例,如下所示: " Save the current file, foo.txt, as bar.txt :w bar.txt " Start editing bar.txt :e# 显然,在这种情况下,您刚才保存的文件是“备用文件” 有人能给我一个“备用文件”的更一般的定义吗?您还可以用它做什么?备用文件是在当前窗口中最后编辑的文件。实际上,当您使用某个命令打开一个新的缓冲区时,如
:help registers
,注意到#
“包含备用文件的名称”
我看到了一个重命名文件的示例,如下所示:
" Save the current file, foo.txt, as bar.txt
:w bar.txt
" Start editing bar.txt
:e#
显然,在这种情况下,您刚才保存的文件是“备用文件”
有人能给我一个“备用文件”的更一般的定义吗?您还可以用它做什么?备用文件是在当前窗口中最后编辑的文件。实际上,当您使用某个命令打开一个新的缓冲区时,如果显示的缓冲区具有与其关联的文件名,则该文件名将被记录为备用文件名
请参见
:help alternate file
我在缓冲区上下文中使用它返回到我正在编辑的最后一个缓冲区
vim foo bar
:n
:e#
在这种情况下,我总是将“备用文件”解释为“以前的文件”,因此这是一种跳回您正在编辑的缓冲区的简便方法。对于。。。 以我刚才看到的文件名粘贴到当前文件中 您可以在插入模式下使用
#
,或在正常模式下使用“#p
对…没什么用处。。。
在两个文件之间来回跳跃。这项工作做得很好,但这只是我通常不需要做的事情
即使在给出的示例中,我也可能使用:saveas bar.txt
例如:
假设你正在做一点C编程,想调用某个函数。你记不起函数的名称,所以你在当前位置mA
上做一个标记,然后使用标记或grep跳转到几个不同的文件中,找出函数声明的位置和实际调用的内容
啊-找到了。您可以复制名称并返回标记yiw'A
哦-我们还需要#包含文件!简单-只需使用备用文件名寄存器将文件名粘贴到…Gi#include“#”
很高兴您已经避免了不得不返回函数声明并通过:let@“=@%或类似方式复制文件名的干扰
在文件之间跳转时,我更愿意做什么:
- 当编辑两个文件时,分割它们可能更容易,所以您可以同时在屏幕上显示这两个文件。如果我正在编辑两个文件,我通常会以某种方式比较它们
- 通常我对1-3个文件感兴趣(如果更多,我会感到困惑)。我经常跳入或直接打开许多其他文件。在这种情况下,标记感兴趣的文件或遍历跳转列表通常是解决问题的方法
- 如果您在编辑C/C++时在文件和文件头之间切换,请使用插件!这样会方便得多
:e%:r.h
和%:r.c
或:e%:r.cpp
进行合理方便的切换,而无需配置。是的,但是为什么呢?已经有了一个针对:e#
的经过精心设计且更便携的命令,即CTRL-^
。