Ir al contenido

Cómo adoptar Neovim sin morir en el intento

·1248 palabras·6 mins
Miguelangel Leon
Autor
Miguelangel Leon
Data Scientist

Tal vez has escuchado de Vi, Vim y Neovim varias veces, lo grandiosos y eficientes que son, y en una de esas veces decides instalarlo solo para terminar abriendo un documento en la terminal que ni se ve bien, no sabes cómo escribir y, lo peor, ni siquiera sabes cómo salir del editor.

Un chiste común es:

Uso Neovim porque no sé cómo cerrarlo.

Hay varias maneras de aproximarse a Neovim, sea instalando la aplicación y adaptándola a tu gusto o instalando una distribución que venga preconfigurada. Entre las diferentes distribuciones tenemos las siguientes:

LazyVim
#

LazyVim

NVChad
#

NVChad

LunarVim
#

LunarVim

AstroVim
#

AstroVim

Todos prometen lo mismo: poca configuración y empezar de una vez; pero todos fallan en algo:

No sabes usar Vim, así que da igual que vengan preconfigurados.

Lo que queremos asegurarnos es que en realidad facilitemos la entrada al uso de Neovim sin fallar.

¿Por qué Neovim?
#

Es una pregunta válida. Habiendo editores tan buenos como VS Code y derivados, Zed y PyCharm, pareciera que usar un editor en la terminal no tiene ningún sentido, pero vayamos por partes.

Neovim es un editor modal y es un fork de Vim, por lo que heredó sus características.

Modal se refiere a que tiene varios modos.

En un editor tradicional, si presionas la tecla d, escribes una “d”. En Neovim, depende de en qué modo estés. Esta es la barrera más grande al principio, pero una vez que la dominas, es la razón por la que querrás usarlo siempre.

En definitiva, quieres Neovim porque eres un geek, te encanta la terminal, la eficiencia, ahorrar tiempo, usar el teclado y adoras la personalización.

En mayor o menor medida, algunas de esas cosas también se obtienen con otros editores, sobre todo si usas el “Vim mode”.

¿Cómo iniciar sin fallar?
#

Lo primero que debes conocer es que Neovim es un editor modal y lo que conoces es muy diferente, así que mi recomendación es NO USAR NEOVIM para usar Neovim.

¿Cómo?

Así es.

El primer paso es seguir con tu editor favorito y convertirlo en un editor modal hasta que tenga sentido para ti, y luego vayas a Neovim.

VS Code y derivados
#

Usa la extensión VSCodeVim. VS Code tal vez sea el editor en el que la experiencia del modo Vim se sienta más limitada, pero es suficiente para aprender los movimientos de Vim (Vim motions en inglés).

Zed
#

Este editor sería mi favorito si no usase Neovim. No hay que instalar ninguna extensión para configurarlo en modo Vim y esta opción funciona espectacularmente.

Basta con abrir la paleta de comandos ctrl+shift+p y escribir workspace: toggle vim mode.

Alternativamente, puedes editar el fichero de configuración global o del proyecto (archivo JSON) y añadir:

  "vim_mode": true

PyCharm
#

Es del que tengo menos info, pero dejo acá el enlace oficial.

Instalar Neovim
#

Aunque no lo vaya a usar aún, instala Neovim crudo para poder usar el modo Tutor.

La instalación depende de tu sistema operativo. En cualquiera de los casos, conviene ir a su sitio web oficial y echar una ojeada a ver cómo instalarlo para tu sistema.

Arch y derivados
#

sudo pacman -S neovim

Ubuntu
#

sudo apt install neovim

Fedora
#

sudo dnf install neovim

macOS
#

Primero instala Homebrew si no lo tienes y luego:

brew install neovim

Windows
#

Puedes descargar los binarios directamente o usar un gestor de paquetes.

Winget
#

winget install Neovim.Neovim

Chocolatey
#

choco install neovim

Scoop
#

scoop bucket add main
scoop install neovim

Modo Tutor
#

Una vez instalado, abre una terminal y ejecuta:

nvim

Justo ahí ejecuta :Tutor. Es decir: dos puntos y la palabra Tutor con la primera “T” en mayúscula.

Sigue el tutorial de a poco, no intentes aprender todo en un día. Simplemente lo aprendido ahí lo usas en tu editor de siempre; en dos semanas ya le habrás encontrado sentido.

Modos en Neovim
#

No intentes entenderlo mucho ahora, las descripciones serán breves. Luego usaremos Neovim para aprender, aunque no lo uses para trabajar aún.

1. Modo Normal: Centro de operaciones
#

Es el modo por defecto. Cuando abres Neovim, estás aquí. No es para escribir, es para moverte y editar. Piensa en tus dedos no como escritores, sino como cirujanos del código.

  • ¿Cómo se usa? Te mueves con h, j, k, l (en lugar de las flechas) o saltas entre palabras completas.
  • El truco: Si presionas dd, borras una línea completa. Si presionas u, deshaces el último cambio. Todo sin tocar el ratón ni estirar la mano hacia la tecla Backspace.

2. Modo Insert: La máquina de escribir
#

Este es el modo al que estás acostumbrado en cualquier otro editor. Aquí las teclas sí escriben texto en la pantalla.

  • ¿Cómo entras? Desde el Modo Normal, presionas la tecla i (de Insert).
  • ¿Cómo sales? Esta es la clave de la supervivencia: presionas la tecla Esc. Regresar al Modo Normal debe convertirse en tu acto reflejo cada vez que termines de escribir una frase.

3. Modo Visual: El “clic y arrastrar” del teclado
#

Sirve para seleccionar bloques de texto. Es el equivalente a dejar presionado el clic izquierdo del ratón y arrastrarlo por la pantalla, pero hecho con total precisión desde el teclado.

  • ¿Cómo entras? Desde el Modo Normal, presionas v. Si te mueves, verás cómo se resalta el texto.
  • El truco: Una vez seleccionado el texto, puedes presionar y (de yank) para copiarlo, o d (de delete) para borrarlo.

4. Modo Command: El panel de control
#

Te permite ejecutar órdenes directas al editor.

  • ¿Cómo entras? Desde el Modo Normal, escribes : (dos puntos). El cursor bajará al fondo de la pantalla.
  • El chiste se cuenta solo: Para guardar escribes :w (write), para salir escribes :q (quit), y para salir sin guardar los desastres que hiciste, escribes :q!.

5. Modo Terminal: Un terminal dentro de tu editor
#

Neovim te permite abrir una terminal real dentro de una de sus ventanas. Así no tienes que estar cambiando de aplicación para correr tus tests o levantar tu servidor local. Aunque particularmente lo uso poco, ya que me manejo con tmux.

  • ¿Cómo se usa? Actúa como una terminal normal, pero requiere una combinación de teclas (usualmente Ctrl-\ Ctrl-n) para “despegarte” de ella y volver a manejar la ventana en Modo Normal.

Instalar LazyVim
#

Requisitos:
#

Todo lo de arriba es posible instalarlo con el gestor de paquetes de tu sistema operativo. Doy ejemplos para los basados en Arch:

sudo pacman -S ghostty lazygit neovim tree-sitter-cli git

En las distribuciones basadas en Arch es extremadamente probable que ya tengas el compilador instalado porque es parte de base-devel. Igualmente, en macOS ya debe estar instalado. Otras distribuciones Linux podrían requerir una instalación explícita:

Ubuntu
#

sudo apt install build-essential

Fedora
#

sudo dnf groupinstall "Development Tools"

Windows pues…

tarea para la casa

¡IMPORTANTE!

Si ya tenías Neovim instalado, haz una copia de seguridad primero.

Mac y Linux
#

mv ~/.config/nvim{,.bak}

Ahora clona el repo de LazyVim:

git clone https://github.com/LazyVim/starter ~/.config/nvim

Elimina el directorio .git:

rm -rf ~/.config/nvim/.git

Windows
#

Tarea para la casa.

Listo, ahora solo ejecuta:

nvim

Y ahora sí, ya que has seguido el Tutor, deberías poder usarlo de forma regular. Es imposible aprenderlo todo, así que disfruta el camino.

El siguiente paso es seguir la página de LazyVim.