Configuración y uso de VIM| NEOVIM
Abarcaremos desde la instalación,
configuración y comandos para movernos en VIM o NEOVIM, no explicaremos todo,
pero estoy seguro que después de leer este resumen, podrás moverte usando una
de estas aplicaciones. Por cierto, te recomiendo usar neovim, es mejor (para mí).
Vim y neovim usan los mismos comandos, no importa cuál se use, se usan los comandos vistos en este blog en ambos.
Instalación de neovim
sudo add-apt-repository ppa:neovim-ppa/stable
sudo apt-get update
sudo apt-get install neovim
Configuración
cd .config/
mkdir nvim
touch nvim/init.vim
nvim nvim/init.vim y escribir lo siguiente
set numberset mouse=aset numberwidth=1set clipboard=unnamedsyntax enableset showcmdset rulerset encoding=utf-8set showmatchset sw=2set relativenumberset laststatus=2set noshowmode
Presiona dos veces esq y escribe :wq para salir y guardar cambios
Primeros pasos
Crea un archivo
cd Desktop/
touch file.txt
Ingresa a él con nvim file.txt
Modos
Visual Mode: Lo usaremos principalemente para copiar textos y pegarlos.
Insert Mode: Nos permitirá escribir en el documento.
Basic Mode: Nos moveremos en él y será el que más usemos.
Replace Mode: Nos permitirá reemplazar letras o sobreescribir letras.
Cerrar vim (debes estar en modo básico para que funcione)
:q -> salir de vim
:w -> guardar cambios
:q! -> salir sin guardar cambios
:wq -> salir y guardar cambios
Insert Mode:
Para entrar en este presiona i y podrás escribir en el documento, presiona ESC + ESC para salir del modo insert
Basic Mode:
Para ejecutar estos comandos es necesraio estar en el modo básico, para asegurarnos de estar en él, presionamos ESC + ESC
Movimientos básicos
h -> movernos a la derecha
j -> movernos abajo
k -> movernos arriba
l -> movernos a la izquierda
e -> nos moveremos de palabra en palabra y el cursos se ubicará al final de la siguiente palabra
w -> nos moveremos de palabra en palabra y el cursor se ubicará al inicio de la siguiente palabra
b -> nos moveremos de palabra en palabra y el cursor se ubicará al inico de la palabra anterior
0 -> el cursor se colocará al inicio de la linea actual
Movimientos combinados
Nota: si aparece un + es porque se debe mantener presionada la letra anterior
SHIFT + a -> el cursor se moverá al final de la linea acutal y entraremos al modo insert
gg -> el cursor se moverá al inicio del documento
SHIFT + g -> el cursor se moverá al final del documento
Borrar y restaurar
x -> borra el caracter sobre el que se encuentra el cursor actualmente
d -> si lo mantienes presionado empezará a borrar varias lineas
d$ -> borrará todo lo que haya a la derecha del cursor (solamente sobre la linea actual)
dd -> borra la linea actual, sin importar la posición del cursor
dw -> borra una palabra
u -> deshace el ultimo cambio hecho (como el CTRL Z)
CTRL + R -> revierte el ultimo cambio hecho (como el CTRL SHIFT Z)
SHIFT + R -> revierte el ultimo cambio hecho (como el CTRL SHIFT Z)
Nota: También se pueden hacer comninaciones con numeros leer combinación con números
Combinaciones con números enteros y movimientos
Puedes colocar numeros, 20 por ejemplo e ir a la linea 20. Funcionaría de la sigueinte forma
20 SHIFT + g -> el cursor se moverá a la linea 20. Nota, pude ser cualquier numero, 12, 1...
d12w -> borra 12 palabras
de -> borra toda la palabra sigueinte
dk -> borra desde la posición del cursor hasta la linea de abajo
Clipboard
p -> pega el ultimo elemento en el clipboard en la linea debajo de donde se encuentra el cursor
SHIFT + p -> pega el ultimo elemento en el clipboard en la linea superior de donde se encuentra el cursor
o -> *******
SHIFT + 0 -> ******
El clipboard no funciona como el CTRL + C que conocemos, es un espacio en el que se guardan las ultimas cosas que hemos copiado, si borramos algo, se guarda en el clipboard.
Movernos entre archivos
Si estas leyendo un programa, es probable que llamemos a una varibale, algo tipo
Clase 1
const { ayuda } = require('./helper.js')
const suma = (ns) => {
let acumulado = 0;
for (i = 0; i < ns.length; i++) {
acumulado += ns[i];
}
return acumulado;
}
const numeros = [1, 2, 3, 4, 5];
const multiplicados = numeros.map(x => x * 2)
// a pares
const parejas = numeros.map(x => [x, x])
const mascotas = [
{ nombre: 'Puchini', edad: 12, tipo: 'perro' }
]
// edad promedio
const edades = mascotas.map(x => x.edad)
const resultado = suma(edades)
console.log(resultado / edades.length);
clase 2
module.exports.ayuda = () => {
console.log('lala')
}
gf -> nos movemos a la delcaración de la variable, debe estar dentro del mismo archivo
gd -> nos movemos a la declaración de una varibale, debe estar dentro de un archivo distinto, al abrirlo, lo apila (como la pila al estudiar archivos y anidaciones)
CTRL+i -> nos movemos al archivo aplidado superiormente
CTRL+o -> nos movemos al archivo apilado debajo
Replace
Imagina que tienes este texto:
Quiero comer un helado, porque el heladome gusta, y quiero que sea un helado, pero un helado de chocolate.
Ahora, imagina que text1= helado y text2 = malteada
:s/text/1/text2 -> reemplaza la primera palabra helado por malteada en la linea donde se encuentra el cursor
:s/text/text2/g -> reemplaza todas las palabras helado y las cambia por malteada en la linea donde se encuentra el cursor
:%s/text1/text2/g -> reemplaza todas las palabras helado en todo el documento por malteada
:%s/text1/text2/gc -> reemplaza todas las palabras helado en todo el docuemento por malteada pero te pregunta palabra por palabra si quieres cambiarlas o no.
Busquedas
Nota: si usar neovim, /text y ?text hacen lo mismo. Siempre ejecutará ?text en caso de neovim.
Supongamos ahora que no escibo text, escribo boolean
/text -> busca la palabra boolean desde donde se encuentra el cursor hacia adelante
?text -> busca la palabra boolean en todo el docuemnto, incluso detrás del cursor.
Visual Mode:
Para entrar en este modo, primero debes estar en modo básico (ESC + ESC) y luego presiona v
Puedes investigar más a profundidad sobre este modo. Pero lo usarás más para copiar y pegar.
y -> copia lo que tenga seleccionado.
Hay combinaciones, una vez entres en el modo visual, te puedes mover con todas las letras de movieintos basicos mensionados en el basic mode con la diferencia que mientras te mueves, se irá seleccionando el texto. Cuando encierres un trozo de texto que quieras copiar, presiona y.
Replace Mode:
r -> entras en modo reemplazo y luego presiona una letra, cambiarás la letra sobre la que estás por una nueva que deberás presionar
SHIFT + r -> entras en modo reemplazo y despues de cambiar una letra pasaras a cambiar la del lado, para salir presiona ESC + ESC
Y ya está, con eso ya puedes usar Vim, lo siguiente sería instalar plugins, pero almenos a mí, no me interesan, me especializo en java y no uso Vim a diario, pero si te dedicas a desarrollo web o aplicaciones de telefono, te recomiendo investigar sobre los plugins.
Espero haberte ayudado :D
Descarga un resumen con los comandos presionando aquí
Comentarios
Publicar un comentario