Cuando te aventuras en el mundo de Linux, tarde o temprano te encontrarás con vi, uno de los editores de texto más icónicos y poderosos del ecosistema Unix/Linux. Es el editor que parece tener una personalidad propia: minimalista, directo y, a veces, tan desconcertante que te preguntarás si está jugando contigo (spoiler: no, pero a veces lo parece).
Vi es una herramienta que todos los usuarios de Linux deberían conocer. Y aunque puede parecer complicado al principio (en especial cuando intentas cerrarlo por primera vez, como no puedes empiezas a googlear “Como salir de vi” y terminas quemando la computadora), su importancia no puede subestimarse. Recuerda, **En Linux, todo es un archivo **(ya hablaremos de eso mas adelante): desde configuraciones del sistema hasta simples notas. Por eso, aprender a usar un editor de texto poderoso es esencial para navegar y gestionar tu sistema. La buena noticia es que aprender Vi es más sencillo de lo que parece. Con un poco de práctica pronto verás que es una herramienta insustituible.
¿Qué es vi?
Vi (“visual editor”) es un editor de texto que viene preinstalado en casi todas las distribuciones de Linux y Unix. Diseñado en 1976 por Bill Joy, su objetivo era ofrecer una forma eficiente de editar archivos desde la terminal. Aunque con el tiempo surgieron alternativas más “user-friendly”, como nano o emacs, Vi sigue siendo una herramienta indispensable por varias razones fundamentales. Está disponible de manera universal en casi todos los sistemas basados en Unix, lo que lo convierte en una opción confiable y siempre presente. Además, su diseño ligero permite que funcione de manera eficiente incluso en servidores o sistemas con hardware limitado. Cuando logras dominarlo, su rapidez es inigualable, permitiéndote realizar ediciones complejas sin necesidad de mover las manos del teclado. Por si fuera poco, Vi (junto con su sucesor mejorado, Vim) es altamente configurable, lo que te permite adaptarlo a tus necesidades específicas y potenciar aún más tu flujo de trabajo. En pocas palabras, vi es la navaja suiza de los editores de texto.
Usando Vi: Lo Básico
Vi tiene un funcionamiento único que lo diferencia de los editores de texto tradicionales. Su característica principal es que opera en modos, y comprender cómo funcionan es esencial para utilizarlo sin frustración.
El editor cuenta con tres modos principales, cada uno diseñado para tareas específicas y fundamentales para sacarle el máximo provecho. El modo normal es el punto de partida al abrir Vi; aquí puedes navegar por el texto utilizando comandos para moverte, borrar o copiar secciones completas. Cuando necesitas editar contenido, cambias al modo de inserción, donde puedes agregar o modificar texto como en un editor convencional. Por último, el modo de comando te permite realizar tareas más avanzadas, como guardar, cerrar o buscar y reemplazar texto.
Un ejemplo práctico sería editar un archivo de configuración. Primero, abres el archivo y comienzas en el modo normal, navegando con j
y k
hasta la línea que quieres modificar. Luego, presionas i
para entrar en el modo de inserción y realizas los cambios necesarios. Una vez que terminas, regresas al modo normal con Esc
y finalmente usas :wq
en el modo de comando para guardar y salir del editor. Este flujo entre modos, aunque puede parecer confuso al principio, se convierte en una rutina eficiente con práctica.
Modos de vi
- El modo normal es el punto de partida al abrir Vi. En este modo, puedes desplazarte por el texto usando comandos como
h
,j
,k
yl
para moverte hacia la izquierda, abajo, arriba y derecha respectivamente. También puedes ejecutar acciones como borrar líneas condd
o copiar texto conyy
. - Cuando necesitas editar o escribir, cambias al modo de inserción presionando
i
. Aquí, puedes agregar o modificar texto como lo harías en un editor tradicional. Por ejemplo, si estás trabajando en un archivo de configuración, puedes usar el modo normal para navegar hasta la línea que necesitas cambiar, entrar al modo de inserción para escribir el nuevo valor, y luego regresar al modo normal conEsc
. - Finalmente, el modo de comando te permite realizar acciones avanzadas como guardar los cambios, salir del archivo o buscar y reemplazar texto. Para acceder a este modo, desde el modo normal, escribe
:
seguido del comando deseado. Por ejemplo,:wq
guarda los cambios y cierra el archivo, mientras que:q!
descarta los cambios y sale del editor.
Supongamos que estás editando un archivo importante. Comienzas en el modo normal y te desplazas hasta la línea deseada. Presionas i
para entrar al modo de inserción y corriges un error tipográfico. Luego, regresas al modo normal con Esc
y decides guardar el progreso con :w
. Este flujo entre modos puede parecer confuso al principio, pero con práctica, se convierte en un proceso intuitivo que permite trabajar de forma rápida y eficiente en cualquier tipo de archivo.
Desde la consola
Vi y Vim son editores de texto que puedes ejecutar directamente desde la consola, y aunque a primera vista parecen similares, tienen algunas diferencias importantes. Vi es el editor original que viene instalado por defecto en casi todas las distribuciones Unix/Linux. Por otro lado, Vim (“Vi IMproved”) es una versión mejorada que incluye funcionalidades adicionales como sintaxis coloreada, soporte para plugins y capacidades de deshacer/redo más avanzadas.
Cómo ejecutar Vi o Vim: Para abrir un archivo existente o crear uno nuevo, simplemente escribe en la consola:
vi archivo.txt
vim archivo.txt
Si el archivo no existe, el editor lo creará al momento de guardar los cambios.
Ejemplo básico de uso: Supongamos que necesitas editar un archivo de configuración llamado config.txt
. Escribe:
vi config.txt
Comandos adicionales para comenzar:
Aprender a usar estos comandos no solo te ayudará a manejar archivos de texto de manera más eficiente, sino que también te permitirá realizar tareas específicas con mayor rapidez. Por ejemplo, al usar dd
puedes eliminar líneas completas en segundos, mientras que yy
y p
facilitan la duplicación de texto en ubicaciones estratégicas. Si estás revisando un archivo extenso, los comandos /palabra
, n
y N
son herramientas poderosas para localizar rápidamente secciones importantes. Dedica tiempo a practicar estos comandos en archivos de prueba y observa cómo mejoran tu flujo de trabajo, ya sea para editar configuraciones complejas o tomar notas importantes.
h
,j
,k
,l
: Mueven el cursor a la izquierda, abajo, arriba y derecha respectivamente.x
: Borra el carácter bajo el cursor.dd
: Borra la línea actual.yy
: Copia la línea actual.p
: Pega el contenido copiado o cortado debajo de la línea actual./palabra
: Busca una palabra en el texto.n
: Repite la última búsqueda en la misma dirección.N
: Repite la última búsqueda en la dirección opuesta.u
: Deshace el último cambio.Ctrl + r
: Rehace un cambio deshecho.:q!
: Para salir sin guardar.:w
: Para guardar sin salir.:wq
: Para guardar y salir.
Dominar vi puede parecer una tarea monumental, pero hay una herramienta que hace el proceso mucho más accesible: vimtutor. Este pequeño curso interactivo viene incluido con vim (la versión mejorada de vi) y te guía a través de los conceptos básicos y avanzados en unos pocos minutos. Para usarlo, simplemente escribe:
vimtutor
Es como tener un profesor particular que te muestra paso a paso cómo convertirte en un experto.
ctrl + D
Vi no es solo un editor, es una herramienta que puede revolucionar la forma en que interactúas con tu sistema operativo. Aunque inicialmente puede parecer intimidante (¿qué editor no lo es si necesitas buscar “cómo cerrarlo” la primera vez?), con práctica, se convierte en una extensión natural de tus habilidades y en un aliado indispensable.
Dominar Vi no solo mejora tu eficiencia, sino que también te conecta con una larga tradición de administradores y desarrolladores que han confiado en este editor durante décadas. Todos comenzamos sin saber nada, pero lo importante es avanzar paso a paso, practicar continuamente y, sobre todo, recordar que lo más importante es nunca dejar de preguntar. Cada duda resuelta es un paso más hacia la maestría.