Las modificaciones que se realizan sobre un archivo de texto pueden reducirse a dos: insertar y borrar texto. En la práctica, se presentan también otras operaciones de maquillaje como: cambiar, substituir, mover, recortar y pegar texto, que en el fondo se pueden realizar con las dos primeras.
Al insertar texto podemos indicar si se quiere realizar antes de la posición actual del cursor o despues. Además, como vi administra el texto por líneas, si queremos añadir líneas tendemos a utilizar mandatos específicos
i
| Insertar (delante del cursor) |
a
| Añadir (detrás del cursor) |
o
| Insertar una línea debajo de la actual (open) |
O
| Insertar una línea encima de la actual (open) |
Cada vez que se borra un fragmento de texto, éste se almacena en una zona de memoria (búfer). De este modo nos ponemos a salvo de cometer un error en una operación y no poder volver atrás. Además, si movemos el cursor, podemos pegar ése texto en otro lugar diferente, las veces que deseemos.
u
| Deshace el último mandato del vi (salvo la modificación de archivos) |
U
| Deshace los cambios realizados sobre la línea actual (idem) |
Al borrar texto se suele hacer por letras, por palabras enteras y por líneas
x
| Borrar caracter actual |
dd
| Borrar línea actual (delete) |
dw
| Borrar palabra (delete word) |
Más tarde podremos volver a poner ésta línea en cualquier otro sitio utilizando las bondades de los mandatos de pegado (paste).
p
| Pega el búfer detrás de la posición del cursor |
P
| Pega el búfer delante de la posición del cursor |