Guía avanzada del usuario

Cómo finalizar una sesión

Cuando edita un archivo con vi, sus cambios no se hacen directamente en el archivo. En realidad se aplican a una copia del archivo que vi crea en un espacio de memoria temporal llamado buffer o memoria intermedia. La copia permanente en disco del archivo se modificará sólo cuando escriba (guarde) el contenido de la memoria intermedia.

Esta disposición tiene sus aspectos buenos y malos. Por un lado, significa que puede salir de un archivo y descartar todos los cambios que ha hecho durante una sesión de edición, dejando la copia en disco intacta. Por otro lado, podría perder el contenido (no guardado) de la memoria intermedia de trabajo si el sistema tiene una avería o fallo (las personas en terminales remotos conectados por líneas de teléfono son especialmente vulnerables frente a interrupciones no planificadas).

Lo más conveniente es guardar el trabajo con cierta frecuencia, especialmente cuando se hacen cambios sustanciales.


Precaución - Precaución -

GraphicAunque es posible ejecutar sesiones vi múltiples y simultáneas de un mismo archivo, no es buena idea. Puede dar lugar a confusión cuando intente averiguar qué cambios se han escrito en el archivo y cuales se han sobrescrito provenientes de otra sesión simultánea.


Cómo guardar los cambios y salir de vi

Abundan en vi comandos más o menos sinónimos que controlan la copia del contenido de la memoria intermedia en un archivo y la salida de vi. Estos comandos le ofrecen las opciones de guardar, guardar y salir, o salir sin guardar.

Cómo guardar

Guarde el contenido de la memoria intermedia (escriba la memoria intermedia en el archivo en disco) escribiendo:

:w

seguido de Retorno.

Cómo guardar y salir

Guarde y salga escribiendo:

:wq

seguido de Retorno. Otra forma de hacer esto es introduciendo ZZ.

Observe que el comando ZZ no va precedido por los dos puntos ni seguido de Retorno.

Cómo salir sin guardar

Cuando no haya hecho cambios en el archivo y simplemente quiera salir, escriba:

:q

seguido de Retorno. Si hizo cambios, vi no le permitirá salir con :q. Mostrará el mensaje No se ha escrito desde el último cambio (q! sobrescribe).

Si no quiere guardar los cambios que haya hecho, escriba:

:q!

seguido de Retorno.