Как сохранить файл, над которым вы работаете, как новый файл?

10

Есть моменты, когда я хочу проверить изменения в файле, прежде чем перезаписать оригинал. Можно ли как-нибудь сохранить редактируемый файл в новый файл?

Дом
источник
Не по теме ответ будет предлагать VCS. Например, может пригодиться индекс git
Йоханнес

Ответы:

17

Вы можете дать параметр команде :wили, :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.

200_success
источник
0

Просто укажите новый путь к файлу в :wкоманде -:w newfile.foo

Комплект
источник