Как сохранить как новый файл и продолжить работу над оригинальным в Vim?


362

Всякий раз, когда я использую :savкоманду, она сохраняет файл с новым именем и открывает новый файл, открытый в Vim.

Можно ли сохранить файл под новым именем, но оставить исходный файл открытым для редактирования?


13
Я пришел с противоположным вопросом.
cambuncious

4
@ cambuncious Я тоже. Я гуглил, vim "save as"и этот вопрос научил меня, что есть такой, :saveasкоторый работает так, как я ожидал: сохраняет существующий файл с новым именем и открывает новый файл.
Джектоз

Ответы:


526

Используйте :wкоманду с именем файла:

:w other_filename

78
Кроме того, используйте :w %:h/other_filenameдля записи в имя файла в том же каталоге, что и открытый файл.
loevborg

2
@Ioevborg, когда это не так? Я просто: w fname, не читая ваш комментарий, и поведение, кажется, по умолчанию.
Блейк

10
@ Cokemonkey11 В vim поведение по умолчанию не является тем, чтобы расположение текущего файла совпадало с рабочим каталогом. Возможно, в вашем файле vimrc есть что-то, что делает это для вас. Дополнительную информацию можно найти здесь vim.wikia.com/wiki/Set_working_directory_to_the_current_file
Дерек

8
Я только что подтвердил, что без "%: h /" файл будет сохранен в каталоге, в котором вы были, когда вы открывали vim, а не там, где был исходный файл ....
RVC

7
Может быть полезно упомянуть, что :w other_filenameданные будут записываться other_filename только в текущий файл, а не в него.
Рам Патра

270

Спасибо за ответы. Теперь я знаю, что есть два способа «SAVE AS» в Vim.

Предполагается, что я редактирую hello.txt.

  • : w world.txt записывает содержимое hello.txt в файл world.txt, сохраняя hello.txt в качестве открытого буфера в vim.
  • : sav world.txt сначала записывает содержимое hello.txt в файл world.txt, затем закрывает буфер hello.txt и, наконец, открывает world.txt в качестве текущего буфера.

27
:savне закроет начальный буфер, он его скроет По умолчанию скрытые буферы выгружаются, но это можно переопределить (с опциями «скрытый» или «скрытый»).
ZyX

7
Итак, да ... :savближе к "Сохранить как", я знаю.
Skytreader

8
От помощи Вима: :sav[eas][!] [++opt] {file}Итак, :sav это сокращение для :saveas. Принимая во внимание, :wявляется ярлыком для :[range]w[rite][!] [++opt] {file}. И все в руководстве, всего несколько строк выше / ниже.
Atcold

23

После сохранения нового файла нажмите

Ctrl-6

Это ярлык для альтернативного файла


2
Для чего стоит использовать nvim 0.1.0 под OS X 10.10.5, для этого требуется SHIFT-CTRL-6.
Аарон Мендес

shift-ctrl-6 на доморощенной версии Vim на OS X 11.
Матеуш Пиотровски

3

Следующая команда создаст копию в новом окне. Таким образом, вы можете продолжить видеть как оригинальный файл, так и новый файл.

:w {newfilename} | sp #
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.