Como você salva o arquivo em que está trabalhando como um novo arquivo?

10

Há momentos em que desejo testar as alterações em um arquivo antes de substituir o original. Existe alguma maneira de salvar um arquivo sendo editado em um novo arquivo?

Dom
fonte
A resposta fora do tópico seria sugerir um VCS. Por exemplo, o índice do git pode ser útil
johannes

Respostas:

17

Você pode atribuir um parâmetro ao comando :wou :writepara salvar em um arquivo diferente. Por exemplo, para salvar o buffer atual em /tmp/data.txt:

:w /tmp/data.txt

No entanto, lembre-se de que isso não altera seu buffer para esse outro arquivo. Portanto, se você continuar editando e fizer exatamente :wisso, isso será salvo no arquivo atual, não no outro. Para alternar para o outro arquivo, use o :editcomando:

:e /tmp/data.txt

Para fazer isso, salve em outro arquivo e mude para ele, use o :saveascomando:

:sav /tmp/data.txt
janos
fonte
5

O Vim possui um "modo de backup" que pode ser ativado por :set backupou :set patchmode. Nesse modo, o Vim mantém automaticamente uma cópia de backup dos arquivos que você escreve.

Por exemplo, se você emitir :set patchmode=.orige editar um arquivo existente somefile.txt, quando emitir :wnormalmente, o Vim manterá uma cópia do arquivo antigo como somefile.txt.orige salvará o novo conteúdo como somefile.txt.

200_success
fonte
0

Sim, há um jeito. :w new_file_name

Nebril
fonte
0

Basta especificar um novo caminho de arquivo no :wcomando -:w newfile.foo

Kit
fonte