如何将正在处理的文件另存为新文件?


10

有时我想在覆盖原始文件之前测试对文件的更改。有什么方法可以将正在编辑的文件保存为新文件?


脱离主题的答案是建议使用VCS。例如,git的索引可能有用
johannes

Answers:


17

您可以为:wor :write命令指定参数以保存到其他文件。例如,将当前缓冲区保存到/tmp/data.txt

:w /tmp/data.txt

但是,请记住,这不会将缓冲区切换到该其他文件。因此,如果您继续编辑并仅执行:w,它将保存到当前文件,而不是另一个文件。要切换到另一个文件,请使用以下:edit命令:

:e /tmp/data.txt

要执行此步骤,请保存到另一个文件并切换到该文件,请使用以下:saveas命令:

:sav /tmp/data.txt

5

Vim具有可以通过:set backup或启用的“备份模式” :set patchmode。在这种模式下,Vim自动保留所写文件的备份副本。

例如,如果您发布:set patchmode=.orig并编辑了一个现有文件somefile.txt,那么当您:w正常发布时,Vim会保留旧文件的副本为somefile.txt.orig,并将新内容保存为somefile.txt



0

只需在:w命令中指定一个newfilepath-:w newfile.foo

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.