有什么办法可以将正在编辑的文件保存为新文件?
#1 楼
您可以为:w
或:write
命令提供参数以保存到其他文件。例如将当前缓冲区保存到
/tmp/data.txt
::w /tmp/data.txt
但是,请记住,这不会将缓冲区切换到其他文件。
因此,如果您继续编辑并仅执行
:w
,则会保存到当前文件,而不是另一个文件。要切换到另一个文件,请使用:edit
命令::e /tmp/data.txt
要执行此步骤,请保存到另一个文件并使用
:saveas
命令切换到该文件::sav /tmp/data.txt
评论
最好记住,如果在运行e:/tmp/data.txt之前对当前缓冲区进行任何更改而不将其保存/写入到当前文件中,vim会抱怨。
–尼古拉斯·库萨尔(Nicholas Cousar)
20年8月29日在17:21
但是,我想:sav会覆盖将更改写入原始文件的过程,因此它实际上结合了:w和:e!。
–尼古拉斯·库萨尔(Nicholas Cousar)
20年8月29日在17:29
#2 楼
Vim具有可以通过:set backup
或:set patchmode
启用的“备份模式”。在这种模式下,Vim自动保留所写文件的备份副本。例如,如果发出:set patchmode=.orig
,并编辑现有文件somefile.txt
,那么当正常发出:w
时,Vim会保留旧文件的副本为somefile.txt.orig
,并将新内容另存为somefile.txt
。#3 楼
是的,有办法。:w new_file_name
#4 楼
只需在:w
命令中指定一个新文件路径-:w newfile.foo
评论
脱离主题的答案是建议使用VCS。例如git的索引可能有用