de cero a productivo
introduccion y primeros pasos
que es neovim, instalacion, modos basicos
que es neovim?
neovim es un editor de texto basado en vim. se controla con el teclado, sin mouse. es rapido, liviano y altamente personalizable. la configuracion de ronin te da todo listo para empezar.
instalacion
brew install neovimabrir un archivo
nvim archivo.py
nvim . # abre el directorio actuallos modos de neovim
| tecla | modo | para que |
|---|---|---|
i | insertar | escribir texto |
esc | normal | moverse y comandos |
v | visual | seleccionar texto |
: | comando | ejecutar comandos |
guardar y salir
:w — guardar
:q — salir
:wq — guardar y salircon ronin usas <space>w para guardar y <space>q para salir.
movimiento por el archivo
navegar sin flechas, saltar lineas, buscar
movimiento basico
| tecla | accion |
|---|---|
h j k l | izquierda, abajo, arriba, derecha |
w | salta al inicio de la siguiente palabra |
b | vuelve al inicio de la palabra anterior |
e | va al final de la palabra |
0 | inicio de linea |
$ | final de linea |
movimiento rapido
| tecla | accion |
|---|---|
gg | inicio del archivo |
G | final del archivo |
ctrl+d | bajar media pagina |
ctrl+u | subir media pagina |
42G | ir a la linea 42 |
buscar dentro del archivo
/texto — buscar hacia adelante
?texto — buscar hacia atras
n — siguiente resultado
N — resultado anterior
* — buscar palabra bajo cursorabre un archivo largo y trata de moverte sin usar las flechas. al principio es lento, luego es automatico.
editar texto
insertar, eliminar, copiar, cambiar, deshacer
insertar texto
| tecla | accion |
|---|---|
i | insertar antes del cursor |
a | insertar despues del cursor |
I | insertar al inicio de linea |
A | insertar al final de linea |
o | nueva linea abajo |
O | nueva linea arriba |
eliminar y copiar
| tecla | accion |
|---|---|
x | eliminar caracter |
dd | cortar linea |
yy | copiar linea |
p | pegar despues |
P | pegar antes |
d$ | eliminar hasta final de linea |
dw | eliminar palabra |
cambiar texto
| tecla | accion |
|---|---|
cw | cambiar palabra |
cc | cambiar linea |
C | cambiar hasta final de linea |
r | reemplazar un caracter |
s | eliminar caracter e insertar |
deshacer y rehacer
u — deshacer
ctrl+r — rehacerregla: d elimina, c cambia (elimina + inserta), y copia. combinados con movimientos: d$ = eliminar hasta el final.
navegar multiples archivos
explorador, telescope, buffers, splits
explorador de archivos
<space>e — abrir/cerrar
enter — abrir archivo
a — crear archivo/carpeta
r — renombrartelescope — busqueda rapida
| atajo | que hace |
|---|---|
<space>ff | buscar archivos |
<space>fg | buscar texto en el proyecto |
<space>fb | buscar buffers abiertos |
<space>fh | buscar ayuda |
buffers (archivos abiertos)
<space>bn — siguiente buffer
<space>bp — buffer anterior
<space>bc — cerrar bufferdividir pantalla
<space>sv — division vertical
<space>sh — division horizontal
ctrl+h/j/k/l — moverse entre ventanas
<space>se — igualar tamanosflash — navegacion rapida
s — escribir caracteres y saltar directamentecodigo inteligente (lsp)
autocompletado, definiciones, renombrar, formatear
que es lsp?
el language server protocol le da inteligencia al editor. autocompletado, ir a definicion, renombrar, formatear, diagnosticos. todo en tiempo real.
navegar codigo
| atajo | que hace |
|---|---|
gd | ir a la definicion |
gd | ir a la declaracion |
gi | ir a la implementacion |
gt | ir a la definicion de tipo |
gr | buscar todas las referencias |
documentacion y edicion
| atajo | que hace |
|---|---|
k | ver documentacion (hover) |
ctrl+k | ver firma de funcion |
<space>rn | renombrar simbolo (cambia en todos lados) |
<space>ca | acciones de codigo (importar, extraer) |
<space>cf | formatear codigo |
autocompletado
empieza a escribir y aparecen sugerencias automaticamente.
tab — siguiente sugerencia
shift+tab — sugerencia anterior
enter — confirmar
ctrl+space — forzar autocompletadocon <space>xx ves todos los errores y warnings del archivo. con <space>cf formateas todo el archivo automaticamente.
git y debugging
gitsigns, blame, diff, breakpoints, dap ui
git integrado
los cambios aparecen en el margen izquierdo. linea nueva = verde, modificada = azul, eliminada = roja.
| atajo | que hace |
|---|---|
]g | siguiente cambio (hunk) |
[g | cambio anterior |
<space>gs | preparar cambio (stage) |
<space>gr | revertir cambio (reset) |
<space>gp | previsualizar cambio |
<space>gb | ver quien escribio la linea (blame) |
<space>gd | diff con staged |
debugging con dap
ronin incluye debugging visual para rust y python. breakpoints, step-through, variables inline.
| tecla | accion |
|---|---|
f5 | continuar ejecucion |
f9 | toggle breakpoint |
f10 | step over (avanzar linea) |
f11 | step into (entrar en funcion) |
f12 | step out (salir de funcion) |
<space>du | abrir/cerrar panel de debugging |
rust: <space>rr ejecuta, <space>rt corre tests, <space>rd abre debugging.
productividad y extras
sesiones, historial, todos, surrounds, emmet
sesiones
guarda tu workspace y restauralo despues.
<space>ss — guardar sesion
<space>sl — cargar sesion
<space>sd — eliminar sesionhistorial de cambios
<space>uu — abrir undotree (historial visual)volves a cualquier punto anterior del archivo.
todos y comentarios
<space>xt — buscar todos los todo, fixme, hack, etc.comentar codigo
gcc — comentar/descomentar linea
gc + sel — comentar seleccionsurrounds
ysiw" — rodear palabra con comillas
ds" — quitar comillas
cs"' — cambiar comillas
s + sel — rodear seleccionemmet (html)
ul>li*5>a — escribir
<space>xe — expandir a htmlel camino sigue
estos son los fundamentos. la practica constante es lo que te va a hacer rapido. no intentes aprender todo de una vez. usa un atajo nuevo por dia.
instalá ronin, abre un archivo, y empeza a usar h j k l en vez de las flechas. de a poco, todo va a fluir.
instalar
curl -fsSL https://raw.githubusercontent.com/kanazawa-dev/ronin-nvim/main/install.sh | bash
requiere neovim 0.10+ y git