Bienvenidos a este capítulo de este Curso de Linux para Hackers – Guía Rápida de VIM. Comparte este articulo y síguenos para recibir más capítulos y cursos gratis.

Esta guía es parte de un curso mucho más grande en donde te enseñamos a convertirte en hacker de 0 a 100. Desde los conocimientos más básicos hasta conseguir empleo.

En esta guía veremos desde cero un tema tan amplio como es Linux y lo haremos desde el punto de vista del hacking y la ciberseguridad.

Para saber más comente a continuación, respondemos todos y cada uno de los comentarios.

¿Te gustaría enterarte de cuando lanzamos descuentos y nuevos cursos?

Lo que aprenderás

  • Modos Básicos de Vi
  • Cambios de Modo
  • Comandos de Navegación
  • Búsqueda y Reemplazo
  • Edición de Texto
    • Entrar en Modo Inserción:
    • Eliminar contenido:
    • Deshacer / Rehacer:
    • Repetir último comando:
  • Cortar, Copiar y Pegar
  • Guardar y Salir
  • Selección en Modo Visual
  • Configuraciones Comunes
  • División de Pantalla y Ventanas

La hoja de trucos definitiva sobre Vi que no querrás perderte

¿Buscas una guía rápida y sencilla de vi para editar archivos de texto en la línea de comandos? Has llegado al lugar correcto. Hemos preparado una hoja de trucos de vi para que puedas consultarla con la frecuencia que necesites. Es tan completa que estamos seguros de que nunca más tendrás que buscar en Google «tutorial de vi».

Ya sea que sea un principiante que desea comenzar a usar vi o un usuario avanzado de vi que aprecia un repaso de los comandos vi, esta hoja de trucos esencial de comandos vi lo ayudará a navegar por los distintos modos vi, editar texto, cortar/copiar/pegar, buscar y reemplazar palabras clave y más.

¿Qué es Vi?

El editor de texto de línea de comandos vi (abreviatura de “interfaz visual”) es una utilidad estándar en Unix/Linux y viene preinstalado en Unix. Contiene varios modos, los básicos son: modo de comando (el modo predeterminado; a menos que se especifique lo contrario, los comandos de esta hoja de referencia se aplican a este modo), modo de inserción y modo visual .

Esta hoja de trucos del editor vi contiene comandos específicos para varias funciones, y todos los comandos distinguen entre mayúsculas y minúsculas (comando de letra mayúscula = Shift + tecla).

Algunas distribuciones de Unix/Linux usan vi como un alias para vim , otro editor de texto de línea de comandos que es una mejora de vi ya que tiene características que mejoran la productividad, como división de ventanas y pestañas, resaltado de código, macros, deshacer y rehacer múltiples veces, historial de línea de comandos, coincidencia de patrones y completado de palabras.

Consejo profesional: para ejecutar un comando vi varias veces, anteponga al comando un número entero positivo. Por ejemplo, si desea eliminar 100 líneas, escriba “ 100dd” en el modo Comando.

vi Modo de comando:

  • El editor vi se abre en este modo y solo entiende comandos.
  • En este modo, puedes mover el cursor y cortar, copiar y pegar el texto.
  • Este modo también guarda los cambios que haya realizado en el archivo.
  • Los comandos distinguen entre mayúsculas y minúsculas. Debes utilizar la mayúscula y minúscula correctas.

vi Editor Modo de inserción:

  • Este modo es para insertar texto en el archivo.
  • Puede cambiar al modo Insertar desde el modo de comando presionando ‘i’ en el teclado
  • Una vez que esté en el modo Insertar, cualquier tecla se tomará como entrada para el archivo en el que está trabajando actualmente.
  • Para volver al modo comando y guardar los cambios que has realizado necesitas presionar la tecla Esc
  • Cambios de modo.
    • Comando a texto
      • Teclas de inserción: i, I, a, A, o, O, o.
      • Tecla de sobre escritura: R.
    • Texto a comando:
      • Tecla “ESC”.
    • Comando a última línea:
      • Tecla: “/”
    • Última línea a comando:
      • Tecla ENTER (al finalizar el comando).
      • Tecla ESC (interrumpe el comando).

Navegación básica

Esta sección cubre la apertura de vi, el desplazamiento del cursor, el salto al inicio o al final de una palabra, línea, párrafo y archivo, y la búsqueda de patrones de texto. La tecla <Return> que aparece en algunos comandos de vi que aparecen a continuación es la misma que la tecla <Enter> de algunos teclados. <Ctrl> es la tecla Ctrl y <Escape/ESC> es la tecla Escape. Otras instancias de < y > son literales.

COMANDO DE TERMINAL

A continuación se muestran algunos comandos útiles para ingresar/utilizar vi en la línea de comandos:

COMANDO DE TERMINALEXPLICACIÓN
vi filename.txtAbra un archivo nuevo o existente llamado nombre_archivo.txt
vi -r filename.txtRecuperar un archivo llamado filename.txt que alguien estaba editando cuando falló el sistema operativo
view filename.txtMostrar archivo filename.txt de solo lectura
cat filename.txtContenido de salida de filename.txt; adecuado para archivos pequeños
less filename.txtContenido de salida de filename.txt; adecuado para archivos grandes; navegue utilizando las teclas de flecha

COMANDO DE DIRECCIÓN

En algunas distribuciones, como macOS, puedes usar las teclas de flecha para mover el cursor hacia la izquierda, derecha, arriba y abajo en el modo Comando predeterminado. Sin embargo, en otras distribuciones Unix/Linux, el uso de las teclas de flecha puede dar como resultado A, B, C y D, por lo que aún debes aprender los siguientes comandos de dirección:

COMANDO DE DIRECCIÓNEXPLICACIÓN
hMueve el cursor hacia la izquierda un carácter
jMueve el cursor hacia abajo una línea
kMueve el cursor hacia arriba una línea
lMueve el cursor hacia la derecha un carácter
12hMueve el cursor hacia la izquierda 12 caracteres
23jMueve el cursor hacia abajo 23 líneas
34kMueve el cursor hacia arriba 34 líneas
45lMueve el cursor hacia la derecha 45 caracteres
100jMueve el cursor hacia abajo 100 líneas

Comandos direccionales

Utilice los siguientes comandos direccionales para saltar al principio o al final de una palabra (una cadena de caracteres alfanuméricos excluyendo espacios y puntuación), línea, párrafo o archivo:

DOMINIOEXPLICACIÓN
bMueve el cursor al principio de la palabra actual
wMueve el cursor al principio de la siguiente palabra
eMueve el cursor al final de la palabra actual
BMueve el cursor al comienzo de la palabra anterior a un espacio en blanco
WMueve el cursor al comienzo de la siguiente palabra después de un espacio en blanco
EMoverse al final de la palabra actual antes de un espacio en blanco
0Mueve el cursor al primer carácter de la línea actual
^Mueve el cursor al principio de la línea actual
$Mueve el cursor al último carácter de la línea actual
ggIr a la primera línea del documento
«Vaya a su última posición en el archivo
+Mueve el cursor al comienzo de la siguiente línea 
Mover el cursor al comienzo de la línea anterior
<Ctrl>dDesplácese hacia abajo hasta la mitad de la pantalla
<Ctrl>uDesplazarse hacia arriba la mitad de la pantalla
<Ctrl>fDesplazarse hacia adelante una pantalla completa
<Ctrl>bDesplazarse hacia atrás una pantalla completa
)Mueve el cursor a la siguiente oración
(Mueve el cursor a la oración anterior
{Retroceder un párrafo
}Avanzar un párrafo
HMoverse a la línea superior de la pantalla
MMoverse a la línea media de la pantalla
LMoverse a la última línea de la pantalla
%Mover al soporte correspondiente:() [] {}
:0<Return>Mueve el cursor a la primera línea del documento
1GMueve el cursor a la primera línea del documento
:n<Return>Mueve el cursor a la línea n-ésima, donde n es un entero positivo, en el documento, por ejemplo, :10<Return>mueve el cursor a la décima línea
nGMueve el cursor a la línea n-ésima, donde nes un entero positivo, en el documento, por ejemplo, 5G mueve el cursor a la quinta línea
GIr a la última línea del documento.

Comandos de búsqueda

Una parte complicada de dominar vi es buscar patrones y reemplazarlos cuando sea necesario. La siguiente tabla enumera los comandos de búsqueda y reemplazo de vi relevantes:

DOMINIOEXPLICACIÓN
/Cualquier cosa que escriba después de este símbolo se convertirá en un patrón que deseará encontrar hacia adelante o hacia abajo en el archivo.
?Cualquier cosa que escriba después de este símbolo se convertirá en un patrón que querrá encontrar hacia atrás o hacia arriba en el archivo.
/^stringEncuentra el patrón string que coincide con el comienzo de una línea.
/string$Encuentra el patrón string que coincide con el final de una línea.
nEncuentra la siguiente ocurrencia del patrón escrito después/
NEncuentra la ocurrencia anterior del patrón escrito después?
f<char>Busque un carácter <char> (como “a”, “0”, …) en la misma línea, moviéndose hacia adelante hasta el final de la línea
F<char>Busque un carácter <char>(como “a”, “0”, …) en la misma línea, moviéndose hacia atrás hasta el comienzo de la línea
;Repita la búsqueda de caracteres anterior en la misma dirección.
:s/foo/bar/igReemplazar todas las apariciones de “foo”con “bar”en la línea actual; “i” significa “sin distinción entre mayúsculas y minúsculas” y “g”significa “global”
:1,$s/foo/barReemplazar una ocurrencia de “foo”con “bar”desde la primera línea hasta la última línea
:11,22s/foo/bar/gIReemplazar todas las apariciones de “foo”con “bar”desde la línea 11 hasta la línea 22; “g”significa “global” y “I”significa “sensible a mayúsculas y minúsculas”
:^,.s/foo/bar/gReemplazar todas las apariciones de “foo”con “bar”desde el principio del archivo hasta la posición actual del cursor
:%s/foo/barReemplazar una ocurrencia de “foo”con “bar”en el documento
:%s/foo/bar/gReemplazar todas las apariciones de “foo”con “bar”en el documento; “g”significa “global”
:%s/foo/bar/cReemplazar todas las apariciones de “foo”con “bar”en el documento; “c”significa que vi mostrará un mensaje para confirmar cada reemplazo (“Y” para confirmar)
:&Repita el último comando de reemplazo
/\<pro\>Busca la palabra pro (y no proper, produce, etc.)
/l[aei]ndBuscar land, lend,ylind

Edición de texto

Aquí cubrimos el modo Insertar, la eliminación, modificación y repetición de texto, y las acciones de deshacer y rehacer.

El modo de inserción es donde se edita el contenido de texto de un archivo. Una vez en el modo de inserción, aparecerá la palabra “INSERT” a lo largo del borde inferior de la terminal. La siguiente tabla muestra varias formas de ingresar al modo de inserción en vi:

COMANDO PARA INGRESAR AL MODO INSERCIÓNEXPLICACIÓN
iInserta texto antes de la ubicación actual del cursor
aInserta texto después de la posición actual del cursor
oCrea una nueva línea para la entrada de texto debajo de la ubicación del cursor
IInserta texto al principio de la línea actual
AInserta texto al final de la línea actual
OCrea una nueva línea para la entrada de texto encima de la ubicación del cursor

Eliminar contenido

Los siguientes comandos le ayudan a eliminar contenido e ingresar al modo Insertar al mismo tiempo:

DOMINIOEXPLICACIÓN
ccElimina el contenido de la línea actual. Después, vi permanece en modo Insertar.
CElimina el contenido de la línea actual. Después, vi permanece en modo Insertar.
cwElimina la palabra indicada por el cursor. Después, vi permanece en modo Insertar.
c11wEliminar 11 palabras a partir de la indicada por el cursor. Después, vi permanece en modo Insertar.
12ccEliminar 12 líneas a partir de la indicada por el cursor. Después, vi permanece en modo Insertar.
c20cEliminar 20 líneas a partir de la indicada por el cursor. Después, vi permanece en modo Insertar.
sElimina el carácter actual. Después, vi permanece en modo Insertar.
SElimina la línea actual. Después, vi permanece en modo Insertar.

Cuando haya terminado de modificar el texto, utilice el siguiente comando para dejar de editar inadvertidamente su archivo:

COMANDO PARA SALIREXPLICACIÓN
<Escape/ESC>Salir del modo Insertar

Recuerde los siguientes comandos si desea eliminar uno o más caracteres, palabras, líneas o párrafos:

DOMINIOEXPLICACIÓN
xEliminar el carácter resaltado por el cursor
XEliminar el carácter antes de la posición del cursor
ddEliminar la línea en la que se encuentra el cursor
dwElimina desde la posición actual del cursor hasta la siguiente palabra
dWEliminar una palabra delimitada por espacios en blanco y el espacio siguiente
d}Eliminar todos los caracteres hasta el final del párrafo
:5,30dEliminar líneas 5 a 30
3xBorrar tres caracteres a partir del indicado por el cursor
d9wBorrar nueve palabras a partir de la indicada por el cursor
12ddBorrar 12 líneas a partir de la indicada por el cursor
d20dBorrar 20 líneas a partir de la indicada por el cursor
d^Eliminar desde la posición actual del cursor hasta el principio de la línea
d$Eliminar desde la posición actual del cursor hasta el final de la línea
DEliminar desde la posición del cursor hasta el final de la línea actual
dGEliminar desde la línea actual hasta el final del archivo

Comandos complementarios

Los comandos que se enumeran a continuación sirven para cambiar caracteres, palabras o líneas, repetirlos y deshacer cambios:

DOMINIOEXPLICACIÓN
uDeshacer la acción anterior; repetir tantas veces como sea necesario
UDeshacer todos los cambios en la línea actual
.Rehacer el último comando una vez
<Ctrl>rRehacer el último comando una vez
n.Rehacer el último comando nveces, donde nes un entero positivo
JUnir la siguiente línea a la línea actual
xpCambiar las posiciones de dos personajes adyacentes
ddpIntercambiar dos líneas adyacentes
:15,16 co 17Copiar las líneas 15 y 16 después de la línea 17
:18,20 m $Mueva las líneas 18 a 20 al final del archivo
:7,300 dCopiar las líneas 7 a 300 al buffer y eliminarlas del documento

Modo visual

El modo Visual de vi sirve para resaltar y seleccionar texto. En este modo especial, puede realizar acciones precisas como cortar, copiar, pegar, convertir en mayúsculas y minúsculas y reemplazar palabras.

Existen tres modos visuales:

  • modo de carácter visual,
  • modo de línea visual, y
  • modo de bloque visual.
COMANDO PARA INGRESAR AL MODO VISUALEXPLICACIÓN
vIngrese al modo de caracteres visuales; luego, use las teclas de navegación para resaltar el texto. Una vez en este modo, aparecerá la palabra “VISUAL” a lo largo del borde inferior del terminal.    
VIngresa al modo de línea visual, resaltando toda la línea en la que se encuentra el cursor. Una vez en este modo, aparecerá la palabra “VISUAL LINE” a lo largo del borde inferior del terminal.    
<Ctrl>vIngrese al modo de bloque visual, haciendo selecciones de texto por bloques. Al mover el cursor, se harán selecciones rectangulares del texto. Una vez en este modo, aparecerá la palabra “BLOQUE VISUAL” a lo largo del borde inferior de la terminal.    

Una vez que se encuentre en cualquiera de estos modos, puede resaltar el texto deseado utilizando las teclas de flecha o los comandos de navegación en vi. Luego, puede eliminar, copiar, pegar y manipular el texto dondequiera que se encuentre el cursor utilizando los siguientes comandos:

DOMINIOEXPLICACIÓN
yyCopiar (y = yank to buffer) la línea actual indicada por el cursor
40yyCopiar 40 líneas en el buffer, comenzando desde la línea actual indicada por el cursor
ywCopiar la palabra actual desde el carácter en el que se encuentra el cursor hasta el final de la palabra
:15,20yCopiar líneas 15-20
pPegar el texto copiado después del cursor
:put<Return>Colocar (pegar) el texto copiado después del cursor
PPegar el texto copiado antes del cursor
yypRepetir la línea actual
ywPRepita la palabra copiada
rReemplazar el carácter resaltado por el cursor
RSobrescribir varios caracteres comenzando con el carácter que se encuentra actualmente debajo del cursor; dejar de reemplazar con <Escape/ESC>
~Cambiar el carácter alfabético debajo del cursor entre mayúsculas y minúsculas
>Aumentar la sangría de todas las líneas
<Disminuir la sangría de todas las líneas

Generador de comandos Vi

Todo contenido copiado o eliminado va a uno de los 26 receptáculos de memoria temporal del editor vi, llamados buffers de texto. Persisten hasta que copie o elimine más caracteres en ellos o hasta que salga de la sesión vi actual. El nombre de cada buffer de texto es una letra del alfabeto inglés, por lo que sus nombres son a hasta z.

A continuación se muestran algunos comandos vi para manipular los buffers de texto vi:

DOMINIOEXPLICACIÓN
«ayyCopiar la línea actual en el búfera
«AyyAñadir la línea actual al buffera
«addEliminar la línea actual y colocar el texto en el buffera
«apPegue la línea del buffer adebajo de la línea actual
«a100yyCopiar 100 líneas en el buffera
«a100ddCopiar 100 líneas de texto en el buffer ay eliminarlas del documento

Abreviaturas

El editor vi le permite utilizar abreviaturas para reemplazar palabras. Después de escribir la abreviatura, puede expandirla al presionar <Espacio> o <Retorno>. Las abreviaturas pueden ser un salvavidas, ya que le permiten definir errores tipográficos comunes, como se demuestra en los ejemplos siguientes:

DOMINIOEXPLICACIÓN
:ab os operating systemExpandir cada nueva instancia de “os” escrita en “sistema operativo”
:abbreviate sig your@email.comExpande cada nueva instancia de “sig” escrita en “tu@email.com”
:ab teh theCorregir automáticamente el error tipográfico
:ab adn andCorrección automática de errores tipográficos en la palabra «y»
:ab taht thatCorregir automáticamente el error tipográfico «ese»
:iab tihs thisSolo corrige automáticamente el error tipográfico “este” en el modo Insertar
:cab hoeewvr howeverSolo corrige automáticamente el error tipográfico “sin embargo” en el modo Comando
:abcBorrar todas las abreviaturas
:abclearBorrar todas las abreviaturas
:una osEliminar la abreviatura relacionada con “os”
<Ctrl>vEvitar que una abreviatura que estás ingresando en este momento se expanda
<CR>Esta cadena de cuatro caracteres representa el carácter de nueva línea al crear una abreviatura en el modo Insertar. “CR” significa “retorno de carro”. Puede escribir caracteres especiales similares, como <tab>para introducir una tabulación y <esc>para representar el carácter <Escape>.

Cuando haya terminado su trabajo en el modo Visual, presione la tecla Escape dos veces:

DOMINIOEXPLICACIÓN
<Escape/ESC><Escape/ESC>Salir del modo visual

Modo de comando

El modo de comando es el modo predeterminado que se ve al ingresar a vi. Esta sección cubre cómo guardar archivos, salir del editor vi, mostrar y ocultar números de línea y ejecutar comandos de shell desde dentro de vi.

DOMINIOEXPLICACIÓN
ZZGuardar (si hay cambios) y salir
:w<Return>Guardar (escribir) en el archivo nombrado en la ejecución original de vi
:q<Return>Salir (salir de la consola vi); esto solo funcionará si no ha realizado cambios
:wq<Return>Guardar y Salir
:q!<Return>Salir sin guardar
:w newfilename.txt<Return>Salvar anewfilename.txt
:w>>extrafile.txt<Return>Anexar el archivo actual a un archivo llamadoextrafile.txt
:w!<Return>Sobrescriba el contenido de vi en el archivo nombrado en la ejecución original de vi
:w! newfilename.txt<Return>Sobrescriba el contenido de vi paranewfilename.txt
:23,45w snippet.txt<Return>Escribe el contenido de las líneas numeradas del 23 al 45 en un nuevo archivo llamadosnippet.txt
:23,45w>>snippet.txt<Return>Añade el contenido de las líneas numeradas del 23 al 45 a un nuevo archivo llamadosnippet.txt
:r filename.txt<Return>Leer un archivo llamado filename.txte insertar su contenido después del cursor en el archivo abierto actualmente
:h<Return>Obtenga ayuda sobre vi (salga con :q)
:set nu<Return>Mostrar números de línea
:set nonu<Return>Ocultar números de línea
<Ctrl>gMuestra el número de línea actual y el número total de líneas del archivo en la parte inferior de la pantalla
:.=Devuelve el número de línea donde está el cursor en la parte inferior de la pantalla.
:=Devuelve el número total de líneas del documento en la parte inferior de la pantalla.
:!<shell_command><Return>Ejecutar un<shell_command>
:!ls<Return>Ejecute el lscomando (enumerar elementos en el directorio de trabajo actual) desde vi

Características avanzadas

Esta parte cubrirá expresiones regulares, personalización de la interfaz vi, macros y división del editor vi en múltiples ventanas/pantallas.

El editor vi admite expresiones regulares como cadenas de búsqueda.

EXPRESIÓN REGULARDENOTARCLASE DE PERSONAJE (CUANDO CORRESPONDA)
El comienzo de la línea: se utiliza al comienzo de un patrón de búsqueda./
Cualquier carácter individual excepto nueva línea/
*Cero o más del carácter anterior/
El final de la línea: se utiliza al final del patrón de búsqueda./
El comienzo de un conjunto de patrones de búsqueda coincidentes o no coincidentes/
]El final de un conjunto de patrones de búsqueda coincidentes o no coincidentes/
\< El comienzo de una palabra en un patrón de búsqueda/
\>El final de una palabra en un patrón de búsqueda/
\scarácter de espacio en blanco<Espacio>, <Tab>
\Scarácter que no es un espacio en blancoTodos los caracteres excepto <Espacio> y <Tab>
\ddígito[0-9]
\Dsin dígitos[^0-9]
\xdígito hexadecimal[0-9A-Fa-f]
\Xdígito no hexadecimal[^0-9A-Fa-f]
\odígito octal[0-7]
\Odígito no octal[^0-7]
\hcabeza de personaje de palabra[A-Za-z_]
\Hcarácter que no es cabeza de palabra[^A-Za-z_]
\pcarácter imprimible[ -~]
\Pcarácter imprimible, excluyendo dígitos(?![0-9])[ -~]
\wcarácter de palabra[0-9A-Za-z_]
\Wcarácter no verbal[^0-9A-Za-z_]
\aCaracter alfabético[A-Za-z]
\Acarácter no alfabético[^A-Za-z]
\lminúscula[a-z]
\Lcarácter que no está en minúscula[^a-z]
\ucarácter en mayúscula[A-Z]
\Ucarácter no mayúscula[^A-Z]

Apariencia

Para configurar la apariencia de su editor vi, utilice los siguientes comandos:

DOMINIOEXPLICACIÓN
:colorscheme <Ctrl>dMostrar una lista de esquemas de color vi disponibles
:colo blueCambiar al esquema de colores de vi llamado “azul”:    

Macros

Una macro vi es una función que permite grabar una secuencia de comandos para realizar una determinada tarea. Varias ejecuciones de esa macro repetirán la misma tarea de forma automática.

COMANDO MACROEXPLICACIÓN
q<register><command(s)>qSintaxis para grabar una macro. Ejemplos a continuación.
qao<ESC>qGrabe una macro básica que inserte una nueva línea ( o) y guárdela en el registroa
:regVer macros guardadas
@aReproducir la macro guardada en el registroa
5@aEjecutar la macro guardada en el registro aen cinco líneas más

Dividir la pantalla del editor vi

También puedes dividir la pantalla del editor vi en varias ventanas:

DOMINIOEXPLICACIÓN
<Ctrl>wsDividir la pantalla horizontalmente
<Ctrl>wvDividir la pantalla verticalmente
<Ctrl>wwNavegar entre pantallas divididas horizontales y verticales
<ESC>:qSalir de una de las pantallas divididas

Configurar los ajustes

Los siguientes comandos le ayudan a configurar los ajustes para su experiencia de usuario vi:

COMANDO DE CONFIGURACIÓNEXPLICACIÓN
:set ic<Return>Ignorar mayúsculas y minúsculas al realizar la búsqueda
:set ai<Return>Establecer sangría automática
:set noai<Return>Desactivar sangría automática
:set nonu<Return>no mostrar números de línea
:set nu<Return>Mostrar líneas con números de línea en el lado izquierdo
:set sw = n<Return>Establezca el ancho de desplazamiento de una tabulación de software en una longitud de n, donde nes un entero positivo
:set sw = 4<Return>Establezca un ancho de desplazamiento de cuatro caracteres
:set ws<Return>Permita que sus búsquedas de patrones se repitan
:set wm = 0<Return>Desactivar margen de ajuste
:set wm = n<Return>Establezca el margen de ajuste desde el borde derecho de la pantalla como el número especificado de caracteres n, donde nes un entero positivo
:set wm = 2<Return>Establezca el margen de ajuste en dos caracteres
:set ro<Return>Cambiar el tipo de archivo a “solo lectura”
:set term<Return>Tipo de terminal de impresión
:set bf<Return>Descartar caracteres de control de la entrada
:set all<Return>Ver una lista de todas las configuraciones y sus valores actuales
:set all&<Return>Restablecer todas las configuraciones a sus valores predeterminados

Resumen de Hoja de Trucos Definitiva de Vi

Modos Básicos de Vi

  1. Modo Comando (default): Navega y edita.
  2. Modo Inserción: Permite escribir texto (i, a para insertar).
  3. Modo Visual: Selecciona texto para copiar, pegar o borrar (v, V para seleccionar líneas).

Cambios de Modo

  • Para cambiar a Modo Comando: ESC
  • Para cambiar a Modo Inserción: i (insertar), a (agregar después del cursor), o (nueva línea abajo)
  • Para ir a Última Línea: :

Comandos de Navegación

  • h, j, k, l: Izquierda, abajo, arriba, derecha (también puedes usar las flechas en algunas distribuciones).
  • 0 / $: Al inicio / final de línea.
  • gg / G: Ir al inicio / final del archivo.
  • w / e / b: Al inicio de la siguiente palabra / fin de la palabra actual / inicio de la palabra anterior.
  • Ctrl + d / u: Avanza / retrocede media pantalla.
  • Ctrl + f / b: Avanza / retrocede una pantalla.

Búsqueda y Reemplazo

  • Buscar: /término (hacia adelante) o ?término (hacia atrás).
  • Reemplazar en toda la línea: :s/foo/bar/g
  • Reemplazar en todo el documento: :%s/foo/bar/g
  • Reemplazo interactivo: Agrega c al final (:%s/foo/bar/gc) para confirmar reemplazos.

Edición de Texto

  • Entrar en Modo Inserción:
    • i: Inserta antes del cursor.
    • a: Inserta después del cursor.
    • o: Nueva línea debajo.
  • Eliminar contenido:
    • x: Borra el carácter actual.
    • dd: Borra la línea completa.
    • dw: Borra desde el cursor hasta el final de la palabra.
  • Deshacer / Rehacer:
    • u: Deshacer último cambio.
    • Ctrl + r: Rehacer último cambio.
  • Repetir último comando: .

Cortar, Copiar y Pegar

  • Copiar: yy (línea actual), yw (palabra actual).
  • Cortar: dd (línea actual), dw (palabra).
  • Pegar: p (después del cursor), P (antes del cursor).

Guardar y Salir

  • Guardar y salir: :wq o ZZ.
  • Guardar: :w.
  • Salir sin guardar: :q!.
  • Guardar como: :w nombre_archivo.

Selección en Modo Visual

  • Activar Modo Visual: v (selección por carácter), V (selección por línea).
  • Bloque Visual: Ctrl + v (selección de bloque).

Configuraciones Comunes

  • Mostrar números de línea: :set nu.
  • Desactivar números de línea: :set nonu.
  • Sangría automática: :set ai.
  • Ignorar mayúsculas/minúsculas en búsqueda: :set ic.
  • Cambiar esquema de color: :colorscheme blue.

División de Pantalla y Ventanas

  • Dividir pantalla horizontal: Ctrl + ws
  • Dividir pantalla vertical: Ctrl + wv
  • Cambiar entre ventanas: Ctrl + ww

Esta hoja de trucos te permite tener a mano los comandos fundamentales de Vi para editar eficientemente en la línea de comandos. ¡Ahora solo queda practicar y familiarizarte con el flujo de trabajo de este poderoso editor!

No te detengas, sigue avanzando

Aquí tienes un propósito que debes considerar seriamente: si has querido mejorar tus habilidades en hacking, Ciberseguridad y programación ahora es definitivamente el momento de dar el siguiente paso. ¡Desarrolla tus habilidades aprovechando nuestros cursos a un precio increíble y avanza en tu carrera! El mundo necesita más hackers…

¿Te gustaría enterarte de cuando lanzamos descuentos y nuevos cursos?

Sobre los autores

Álvaro Chirou

Yo soy Álvaro Chirou, tengo más de 20 Años de experiencia trabajando en Tecnología, eh dado disertaciones en eventos internacionales como OWASP, tengo más de 1.800.000 estudiantes en Udemy y 100 formaciones profesionales impartidas en la misma. Puedes seguirme en mis redes:

Laprovittera Carlos

Soy Laprovittera Carlos. Con más de 20 años de experiencia en IT brindo Educación y Consultoría en Seguridad de la Información para profesionales, bancos y empresas. Puedes saber más de mi y de mis servicios en mi sitio web: laprovittera.com y seguirme en mis redes:

Hacker de 0 a 100 desde las bases hasta conseguir empleo

¿Quieres iniciarte en hacking y ciberseguridad pero no sabes por dónde empezar? Inicia leyendo nuestra guia gratuita: https://achirou.com/hacker-de-0-a-100-desde-las-bases-hasta-conseguir-empleo/ que te lleva de 0 a 100. Desde los fundamentos más básicos, pasando por cursos, recursos y certificaciones hasta cómo obtener tu primer empleo.

Hemos creado una ruta de 0 a 100. Un plan de desarrollo que va desde las bases: cómo aprender hacking, qué aprender, en qué orden; pasando por las areas técnicas necesarias como Linux, Redes, Programación y los conocimientos necesarios en ciber seguridad, hacking, pentesting hasta la práctica y el inicio laboral: Crear tu propio laboratorio, certificaciones, adquirir experiencia e iniciarse laboralmente.

Este es un mega post. Una guía con más de 250 artículos que te llevaran por el camino del hacker. Esta guía es gratuita y esta creada gracias al esfuerzo y al trabajo combinado de Alvaro Chirou y mío (Laprovittera Carlos).

Creamos esta guía (futuro curso) para que puedas iniciarte en este mundo. Puedes arrancar ahora, GRATIS, solo necesitas un PC, conexión a internet y paciencia (Ser hacker NO ES un camino de la noche a la mañana).

El Hacking y la ciberseguridad es una carrera divertida, emocionante y gratificante que te recompensará y desafiará por igual. Sin embargo, para quienes buscan adentrarse en este campo en auge y en constante evolución, puede resultar difícil saber por dónde empezar. ¡Ahí es donde entra en juego nuestra guía en ciberseguridad!

Esta es la hoja de ruta hacia el trabajo de ciberseguridad de tus sueños. Te ayudará a entender qué conocimientos, habilidades y certificados son necesarios para alcanzar tus metas profesionales y tener una carrera próspera. Si quieres ser consultor de ciberseguridad, analista de malware, evaluador de penetración, analista de SOC o cualquier otro puesto de ciberseguridad, esta guía es lo que necesitas.

SIGUE APRENDIENDO GRATIS CON NUESTRAS GUIAS

Aprende con nuestros más de 100 cursos que tenemos disponibles para vos

Compartimos estos recursos para ayudar a la comunidad de hacking y ciberseguridad. COMPARTE y Siéntete libre de agregar más sugerencias en los comentarios a continuación, respondemos todos y cada uno de los comentarios.

Saludos amigos y happy hacking!!!