GeeksforGeeks
El editor por defecto que viene con el sistema operativo UNIX se llama vi (editor visual). Usando el editor vi, podemos editar un archivo existente o crear un nuevo archivo desde cero.También podemos usar este editor para simplemente leer un archivo de texto.
Sintaxis:
vi filename
Entrada:
Salida:
Modos de funcionamiento en el editor vi Existen tres modos de funcionamiento en vi:
- Modo comando: Cuando vi se inicia, se encuentra en el modo de comandos. En este modo, vi interpreta cualquier carácter que escribamos como un comando y, por tanto, no lo muestra en la ventana. Este modo nos permite movernos por un archivo, y borrar, copiar o pegar un trozo de texto.
Para entrar en el Modo Comando desde cualquier otro modo, es necesario pulsar la tecla . Si pulsamos cuando ya estamos en el Modo Comando, entonces vi emitirá un pitido o parpadeará la pantalla. - Modo Inserción: Este modo permite insertar texto en el archivo. Todo lo que se teclea en este modo se interpreta como entrada y finalmente, se pone en el archivo. El vi siempre se inicia en modo comando. Para introducir texto, debe estar en modo de inserción. Para entrar en el modo de inserción basta con teclear i. Para salir del modo de inserción hay que pulsar la tecla Esc, que le devolverá al modo de comandos.
- Modo de última línea (modo de escape): El modo de línea se invoca escribiendo dos puntos , mientras vi está en modo comando. El cursor saltará a la última línea de la pantalla y vi esperará un comando. Este modo le permite realizar tareas como guardar archivos, ejecutar comandos.
Iniciando el editor vi
Hay la siguiente manera de empezar a usar el editor vi :
Comandos y su descripción
- vi nombre de archivo: Crea un nuevo archivo si no existe, de lo contrario abre un archivo existente.
- vi -R nombre de archivo : Abre un archivo existente en modo de sólo lectura.
- view nombre de archivo : Abre un archivo existente en modo de sólo lectura.
Moviendo dentro de un archivo(navegación):
Para moverse dentro de un archivo sin afectar al texto hay que estar en modo comando (pulsar Esc dos veces). Estos son algunos de los comandos que se pueden utilizar para desplazarse un carácter a la vez.
Comandos y su descripción
- k : Mueve el cursor hacia arriba una línea.
- j : Mueve el cursor hacia abajo una línea.
- h : Mueve el cursor hacia la izquierda una posición de carácter.
- l : Mueve el cursor a la derecha una posición de carácter.
- 0 o | : Posiciona el cursor al principio de la línea.
- $ : Posiciona el cursor al final de la línea.
- W : Posiciona el cursor a la siguiente palabra.
- B : Posiciona el cursor a la palabra anterior.
- ( : Posiciona el cursor al principio de la frase actual.
- ) : Posiciona el cursor al principio de la siguiente frase.
- H : Se mueve a la parte superior de la pantalla.
- nH : Se mueve a la enésima línea desde la parte superior de la pantalla.
- M : Se mueve a la mitad de la pantalla.
- L : Se desplaza a la parte inferior de la pantalla.
- nL : Se desplaza a la enésima línea desde la parte inferior de la pantalla.
- Colones junto con x : Los dos puntos seguidos de un número posicionan el cursor en el número de línea representado por x.
Comandos de control (desplazamiento): Existen los siguientes comandos útiles que se pueden utilizar junto con la tecla de control:
Comandos y su descripción:
- CTRL+d : Avanzar 1/2 pantalla.
- CTRL+f : Avanza una pantalla completa.
- CTRL+u : Retrocede 1/2 pantalla.
- CTRL+b : Retrocede una pantalla completa.
- CTRL+e : Sube la pantalla una línea.
- CTRL+y : Mueve la pantalla una línea hacia abajo.
- CTRL+u : Mueve la pantalla media página hacia arriba.
- CTRL+d : Mueve la pantalla media página hacia abajo.
- CTRL+b : Mueve la pantalla una página hacia arriba.
- CTRL+f : Mueve la pantalla hacia abajo una página.
- CTRL+I : Vuelve a dibujar la pantalla.
Edición e inserción en Archivos(Introducir y Reemplazar Texto): Para editar el archivo, necesitamos estar en el modo de inserción. Hay muchas formas de entrar en el modo de inserción desde el modo de comandos.
- i : Inserta texto antes de la posición actual del cursor.
- I : Inserta texto al principio de la línea actual.
- a : Inserta texto después de la posición actual del cursor.
- A : Inserta texto al final de la línea actual.
- o : Crea una nueva línea para la entrada de texto por debajo de la ubicación del cursor.
- O : Crea una nueva línea para la entrada de texto por encima de la ubicación del cursor.
- r : Reemplaza un solo carácter bajo el cursor con el siguiente carácter escrito.
- R : Reemplaza el texto desde el cursor hacia la derecha.
- s : Reemplaza un solo carácter bajo el cursor con cualquier número de caracteres.
- S :Reemplaza toda la línea.
Borrar caracteres: Esta es la lista de comandos importantes que se pueden utilizar para eliminar caracteres y líneas en un archivo abierto.
- X Mayúsculas: Borra el carácter anterior a la ubicación del cursor.
- x Minúsculas : Borra el carácter en la ubicación del cursor.
- Dw : Borra desde la posición actual del cursor hasta la siguiente palabra.
- d^ : Borra desde la posición actual del cursor hasta el principio de la línea.
- d$ : Borra desde la posición actual del cursor hasta el final de la línea.
- Dd : Borra la línea en la que se encuentra el cursor.
Comandos Copiar y Pasar: Copia líneas o palabras de un lugar y las pega en otro utilizando los siguientes comandos.
- Yy : Copia la línea actual.
- 9yy : Tira la línea actual y 9 líneas por debajo.
- p : Pone el texto copiado después del cursor.
- P : Pone el texto arrancado antes del cursor.
Comandos de guardar y salir del modo ex : Es necesario pulsar la tecla seguida de los dos puntos (:) antes de escribir los siguientes comandos:
- q : Salir
- q! : Salir sin guardar los cambios, es decir, descartar los cambios.
- r nombreFichero : Leer los datos del archivo llamado nombreFichero.
- wq : Escribir y salir (guardar y salir).
- w fileName : Escribir en el archivo llamado fileName (guardar como).
- w! fileName : Sobrescribir en el archivo llamado fileName (guardar como a la fuerza).
- !cmd : Ejecuta los comandos del shell y vuelve al modo de comandos.
Búsqueda y reemplazo en (modo ex): vi también tiene potentes capacidades de búsqueda y reemplazo. La sintaxis formal para buscar es:
:s/string
Por ejemplo, supongamos que queremos buscar en algún texto la cadena «geeksforgeeks» Escribe lo siguiente y pulsa ENTER:
:s/geeksforgeeks
Entrada:
Salida: al encontrar la primera coincidencia para «geeksforgeeks» en el texto se resaltará.
La sintaxis para reemplazar una cadena por otra en la línea actual es:
:s/pattern/replace/
Aquí «patrón» representa la cadena antigua y «reemplazar» representa la nueva cadena. Por ejemplo, para reemplazar cada ocurrencia de la palabra «geeks» en una línea con «geeksforgeeks» escriba:
:s/geeksforgeeks/gfg/
Entrada:
Salida:
La sintaxis para reemplazar cada aparición de una cadena en todo el texto es similar. La única diferencia es la adición de un «%» delante de la «s»:
:%s/pattern/replace/
Así, repitiendo el ejemplo anterior para todo el texto en lugar de para una sola línea sería:
:%s/gfg/geeksforgeeks/