Vi
Vi es el editor básico integrado en todas las distribuciones Linux y que se ha ido cambiando a nano por su facilidad de uso.
vi (Visual) es un programa que entra en la categoría de los editores de texto, pues a diferencia de un procesador de texto no ofrece herramientas para determinar visualmente cómo quedará el documento impreso. Por esto carece de opciones como centrado o justificación de párrafos, pero permite mover, copiar, eliminar o insertar caracteres con mucha versatilidad. Este tipo de programas es frecuentemente utilizado por programadores para escribir código fuente de software.
Vi fue originalmente escrito por Bill Joy en 1976, tomando recursos de ed y ex, dos editores de texto para Unix, que trataban de crear y editar archivos, de ahí, la creación de vi.
Hay una versión mejorada que se llama Vim, pero Vi se encuentra en —casi— todo sistema de tipo Unix, de forma que conocer rudimentos de Vi es una salvaguarda ante operaciones de emergencia en diversos sistemas operativos.
Comando | Significado |
---|---|
Empezar vi | |
vi nombre_de_archivo | Abrir o crear el archivo |
v i
|
Abrir un archivo nuevo para nombrarlo más tarde |
vi -r nombre_de_archivo | Recuperar un archivo de una caída del sistema |
view nombre_de_archivo | Abrir archivo sólo para leer |
Comandos del cursor | |
h
|
Moverse un carácter hacia la izquierda |
j | Moverse una línea hacia abajo |
k | Moverse una línea hacia arriba |
l | Moverse un carácter a la derecha |
w | Moverse una palabra a la derecha |
W | Moverse una palabra a la derecha (pasados los signos de puntuación) |
b | Moverse una palabra a la izquierda |
B | Moverse una palabra a la izquierda (pasados los signos de puntuación) |
e | Moverse al final de la palabra actual |
Return | Moverse una línea hacia abajo |
Back Space | Moverse un carácter a la izquierda |
Space Bar | Moverse un carácter a la derecha |
H | Moverse a la parte de arriba de la pantalla |
M | Moverse al centro de la pantalla |
L | Moverse a la parte inferior de la pantalla |
Ctrl-F | Paginar una pantalla hacia adelante |
Ctrl-D | Desplazarse media pantalla hacia adelante |
Ctrl-B | Paginar una pantalla hacia atrás |
Ctrl-U | Desplazarse media pantalla hacia atrás |
Insertar caracteres y líneas | |
a | Insertar caracteres a la derecha del cursor |
A | Insertar caracteres al final de la línea |
i | Insertar caracteres a la izquierda del cursor |
I | Insertar caracteres al principio de línea |
o | Insertar una línea por debajo el cursor |
O | Insertar una línea por encima del cursor |
Cambiar texto | |
cw | Cambiar una palabra (o parte de una palabra) a la derecha del cursor |
c | Cambiar una línea |
C | Cambiar desde el cursor hasta el final de la línea |
s | Sustituir cadena por carácter(es) desde el cursor hacia adelante |
r | Reemplazar el carácter marcado por cursor por otro carácter |
r Return | Partir una línea |
J | Unir la línea actual con la línea inferior |
xp | Transponer el carácter del cursor con el carácter a la derecha |
~ | Cambiar el tipo de letra (mayúscula o minúscula) |
u | Deshacer el comando anterior |
U | Deshacer todos los cambios en la línea actual |
:u | Deshacer el comando anterior sobre la línea última |
Eliminar texto | |
x | Eliminar el carácter del cursor |
X | Eliminar el carácter a la izquierda del cursor |
dw | Eliminar la palabra (o la parte de la palabra a la derecha del cursor) |
dd | Eliminar la línea que contiene al cursor |
D | Eliminar la parte de la línea a la derecha del cursor |
dG | Eliminar hasta el final de línea |
d1G | Eliminar desde el principio del archivo hasta el cursor |
:5,10 d | Eliminar las líneas de la 5 a la 10 |
Copiar y mover texto | |
yy | Tirar o copiar línea |
Y | Tirar o copiar línea |
p | Poner la línea tirada o eliminada por debajo de la línea actual |
P | Poner la línea tirada o eliminada por encima de la línea actual |
:1,2 co 3 | Copiar las líneas de la 1 a la 2 y ponerlas después de la línea 3 |
:4,5 m 6 | Mover las líneas de la 4 a la 5 y ponerlas después de la línea 6 |
Ajustar la numeración de las líneas | |
:set nu | Mostrar los números de las líneas |
:set nonu | Esconder los números de las líneas |
Establecer la distinción entre mayúsculas y minúsculas | |
:set ic | En la búsqueda se ignora la distinción entre mayúsculas y minúsculas |
:set noic | En la búsqueda se distingue entre mayúsculas y minúsculas |
Encontrar una línea | |
G | Ir a la última línea del archivo |
1G | Ir a la primera línea del archivo |
21G | Ir a la línea 21 |
Buscar y reemplazar | |
/string | Búsqueda de cadena de caracteres |
?string | Búsqueda hacia atrás de cadena de caracteres |
n | Encontrar la siguiente aparición de string en la dirección de búsqueda |
N | Encontrar la aparición previa de la cadena de caracteres en la dirección de búsqueda |
:g/search/s//replace/g | Buscar y reemplazar |
Limpiar la pantalla | |
Ctrl-L | Limpiar (actualizar) la pantalla |
Insertar un archivo en otro archivo | |
:r nombre_de_archivo | Insertar (leer) el archivo a continuación del cursor |
:34 r nombre_de_archivo | Insertar el archivo después de la línea 34 |
Guardar y salir | |
:w | Guardar los cambios (escribir el contenido de la memoria intermedia) |
:w nombre_de_archivo | Escribir el contenido de la memoria intermedia a un archivo con nombre |
:wq | Guardar los cambios y salir de vi |
ZZ | Guardar los cambios y salir de vi |
:q! | Salir sin guardar los cambios |
Mejor y más bonito
Ahora, si queremos darle más potencia y belleza, recomiendo Nvim y LazyVim.