¿Cómo guarda el archivo en el que está trabajando como un archivo nuevo?

10

Hay momentos en que quiero probar los cambios en un archivo antes de sobrescribir el original. ¿Hay alguna forma de guardar un archivo que se está editando en un nuevo archivo?

Dom
fuente
La respuesta fuera del tema sería sugerir un VCS. Por ejemplo, el índice de git podría ser útil
johannes

Respuestas:

17

Puede asignar un parámetro al comando :wo :writepara guardarlo en un archivo diferente. Por ejemplo, para guardar el búfer actual en /tmp/data.txt:

:w /tmp/data.txt

Sin embargo, tenga en cuenta que esto no cambia su búfer a ese otro archivo. Entonces, si sigue editando y lo hace :w, eso se guardará en el archivo actual, no en el otro. Para cambiar al otro archivo, use el :editcomando:

:e /tmp/data.txt

Para realizar este paso, guarde en otro archivo y cámbielo, use el :saveascomando:

:sav /tmp/data.txt
janos
fuente
5

Vim tiene un "modo de copia de seguridad" que puede habilitarse mediante :set backupo :set patchmode. En ese modo, Vim guarda automáticamente una copia de respaldo de los archivos que usted escribe.

Por ejemplo, si emite :set patchmode=.origy edita un archivo existente somefile.txt, cuando emita :wnormalmente, Vim conservará una copia del archivo antiguo como somefile.txt.origy guardará los nuevos contenidos como somefile.txt.

200_success
fuente
0

Sí, hay una manera. :w new_file_name

Nebril
fuente
0

Simplemente especifique un newfilepath en el :wcomando -:w newfile.foo

Equipo
fuente