Transcripción Trabajando con el editor VI (3)
Para iniciar vim, usamos el comando vi, acompañado del nombre del archivo a editar como argumento del comando:
- vi archivo_de_texto_1
- vi lista_de_telefonos.csv
- vi ~/Documentos/tareas_pendientes.txt
Leyendo el contenido de archivos externos
Vim tiene una característica muy útil: es capaz de leer archivos externos al editor. El comando :read de vim, nos permite insertar el contenido de archivos externos que no sean necesariamente los que estén siendo editados, como parte del contenido del archivo en edición:
- :read archivo_de_texto_1 - Inserta el contenido de archivo_de_texto_1 en la posición del cursor.
- :read lista_de_telefonos.csv - Inserta el contenido de lista_de_telefonos.csv en la posición del cursor.
- :r lista_de_telefonos.csv - Inserta el contenido de lista_de_telefonos.csv en la posición del cursor.
Recordemos que :r es la abreviación del comando :read y ambos invocan la misma acción.
Leyendo comandos
Podemos también ejecutar comandos de bash, e incluso, trabajar con los resultados de los mismos, como insertar la salida de un comando ejecutado en el archivo en edición. Para ello usamos la sintaxis:
- :read !comando_a_capturar
Por ejemplo:
- :read !ls -1 Lee la salida del comando ls -1.
- :r !ls -1 Lee la salida del comando ls -1.
- :r !date Lee la salida del comando date.
Si queremos ubicar el resultado de la lectura del comando en otra posición, usamos un indicador de posición antes del comando r.
Por ejemplo:
- :0r !ls -1 - Inserta la salida del comando ls -1 al principio del archivo.
- :5r !ls -1 - Inserta la salida del comando ls -1 en la 5ta línea.
- n :$r !ls -1 -Inserta la salida del comando ls -1 al final del archivo.
Ejecutando búsquedas
Para ejecutar búsquedas de texto, usamos el carácter barra (/), seguido del texto a buscar, luego presionamos ENTER para ejecutar la búsqueda.
Ej.:
- /texto Ubica la primera aparición de la subcadena “texto”
- ?texto Ubica la última aparición de la subcadena “texto”
- N Ubica la próxima aparición de la subcadena especificada
- n Ubica la anterior aparición de la subcadena especificada
Substituyendo texto
Para substituír texto usamos un el comando avanzado :s. La sintaxis general tiene la forma:
- :s/texto_a_reemplazar/texto_de_remplazo
Ej.:
- :s/viejo/nuevo - Reemplaza la primera aparición de la subcadena “viejo”, en la línea actual del cursor, por la subcadena “nuevo”.
- :s/viejo/nuevo/g - Reemplaza todas las ocurrencias de la subcadena “viejo”, en la línea actual del cursor, por la subcadena “nuevo”.
- :1,5s/viejo/nuevo/g - Reemplaza todas las ocurrencias de la subcadena “viejo”, en cada línea desde la primera hasta la 5ta, por la subcadena “nuevo”.
- :6,$s/viejo/nuevo/g - Reemplaza todas las ocurrencias de la subcadena “viejo”, en cada línea desde la 6ta hasta la última, por la subcadena “nuevo”.
- :1,$s/viejo/nuevo/g- Reemplaza todas las ocurrencias de la subcadena “viejo”, en cada línea desde la primera hasta la última, por la subcadena “nuevo”.
- :%s/viejo/nuevo/g - Reemplaza todas las ocurrencias de la subcadena “viejo”, en todas las líneas, por la subcadena “nuevo”.
Al ejecutar una operación de substitución, un mensaje es mostrado en la parte inferior de la ventana, indicando un resumen de la operación realizada.
Salvando los cambios en otro archivo
Para guardar los cambios realizados en un archivo diferente al editado, usamos el comando avanzado :w y proveemos el nombre del archivo donde guardar las modificaciones.
Ej.:
- :w archivo_nuevo -Guarda los cambios realizados en el archivo en edición bajo el nombre archivo_nuevo.
Cerrando vim
Para salir de vim, podemos usar los comandos:
- :x! Guarda los cambios realizados en el archivo y cierra vim.
- :q! Descarta los cambios realizados en el archivo y cierra vim.
trabajando editor vi 3