60

Guía definitiva para Vim y Neovim: instalación, comandos y trucos

38011Puntos

hace 24 días

Curso de Introducción a la Terminal y Línea de Comandos
Curso de Introducción a la Terminal y Línea de Comandos

Curso de Introducción a la Terminal y Línea de Comandos

La terminal y línea de comandos es una herramienta esencial que todo desarrollador de software, sin importar su área de especialización, pues se encuentra presente de forma universal. En este curso aprenderás a aprovechar el potencial de los sistemas operativos basados en UNIX siendo capaz de dominar los comandos básicos de la terminal, realizar búsquedas que agilicen tu trabajo y administrar permisos en tu equipo.

Guía definitiva para Vim y Neovim: instalación, comandos y trucos

Un día estás concentrada resolviendo el código más complejo que nunca antes has resuelto y por fin la iluminación llegó a ti, lo tienes, la respuesta está en la punta de tus dedos, los despegas un segundo del teclado para cambiar el cursor de línea y… lo perdiste, la iluminación se fue y olvidaste por completo la maravilla que tu mente acababa de descubrir.

Eso no te hubiera pasado si trabajaras con Vim, es lo que te dice esa vocecita molesta de tu cabeza a la que algunos llaman Pepegrillo.

Para que a ti no te pase y domines Vim al derecho y al revés, descubre sus características y funcionamiento junto conmigo.

Qué es Vim

Si queremos entender qué es Vim primero entendamos a su predecesor: Vi.

Vi es un editor bastante antiguo que nació para funcionar dentro de las terminales y una de sus características principal es que funciona a partir de modos, es decir, tiene un modo para insertar texto y otro para ejecutar acciones como buscar dentro del archivo.

Vim se vuelve la evolución de ese editor inicial y se convierte en uno de los editores más populares para administrar y trabajar en servidores, pero no solo eso, entre desarrolladores también se vuelve muy popular para trabajar en su día a día. Se volvió tan popular entre desarrolladores que hoy en día puedes encontrar plugins para integrar Vim en casi todos los editores e IDE, por ejemplo, Visual Studio Code.

Por otro lado, también tenemos a Neovim es un fork del proyecto Vim, que ofrece un código fuente más limpio y según las palabras de sus desarrolladores, trae lo bueno de Vim con una mejor experiencia fuera de la caja para el usuario, por ejemplo, soporta resaltado de sintaxis…

Por qué usar Vim

Los superpoderes de Vim los descubrimos al instante en que podemos navegar por todo nuestros archivos sin la necesidad de despegar las manos del teclado, esto es porque nos ofrece una formas de interactuar con el texto completamente nueva (para nosotros los jovenzuelos que crecimos en la época de Sublime Text y Visual Studio Code) que aporta muchísima fluidez.

Un usuario hábil con Vim puede hacer magía al editar textos, ya que Vim:

  • Te vuelve más rápido.
  • Mejora tu precisión.
  • Reduce la interfaz entre tu cerebro y el ordenador.
  • Te vuelve más cool cuando compartes tu pantalla y te ven usándolo 😎.
  • Te olvidas de utilizar el ratón casi que para cualquier cosa, el teclado manda.

Vim es para los programadores que quieren subir de nivel. En manos de un experto, Vim destroza el texto a la velocidad del pensamiento.
Drew Neil, autor de Practical Vim

Me convenciste… ¿Cómo empiezo?

Primero hay que validar que lo tengamos instalado, si estas en un entorno UNIX o Linux, seguramente ya esté instalado en tu terminal de confianza.

Abre tu terminal y escribe vim, sin olvidarte de dar ENTER para ejecutar el comando. Si te sale una pantalla como la siguiente es que ya lo tienes listo y puedes empezar a trabajar con Vim.

Untitled.png

En caso de que el resultado de tu terminal no sea como en la imagen anterior toca instalarlo. En la página oficial de Vim podremos descargarlo para el sistema operativo de nuestra preferencia.

Una vez instalado podrás acceder a cualquier archivo usando el comando vim seguido del directorio donde se encuentra el archivo que quieras editar.

nvim downloads/index.js
Untitled 1.png

Neovim

Si quieres probar Neovim, ese hermano más joven de Vim, también lo podemos descargar desde su página oficial.

En el caso de ser usuario macOS la instalación se puede realizar a través de Homebrew.

brew install neovim

En Windows necesitas tener Windows 8 o superior y la instalación la puedes dejar en manos de Scoop, un gestor de paquetes para Windows.

scoop install neovim

Y si estas en Linux, la instalación dependerá de tu distribución. Sí estas en una distribución basa en Debian apt-get es tu chico de confianza.

sudo apt-get install neovim

Una vez instalado, para abrir cualquier archivo usa el comando nvim seguido del directorio donde se encuentra tu archivo.

nvim downloads/index.js
Untitled 2.png

Visual Studio Code

Sí como lees podemos instalar Vim en Visual Studio Code. Por un lado, tenemos a Vim, un fantástico editor de texto plano que aumenta la productividad hacía límites insospechados y, por otro lado, está Visual Studio Code, el editor favorito de muchos y con una capacidad de personalización facilísima.

Cuando ambos trabajan en conjunto tenemos la experiencia de desarrollo de Visual Studio Code con las increíbles características propias de Vim, dándonos la experiencia casi perfecta.

¿Cómo llevas la maravilla de Vim al interior de Visual Studio Code? Lo consigues con cuatro sencillos pasos:

  1. Abre Visual Studio Code.
  2. Ve a extensiones.
  3. Busca Vim.
  4. Instala el primero de la lista.
Untitled 3.png

Una vez instalado, es posible que tengas que reiniciar el editor para que los cambios surtan efecto. Si al abrir un archivo de código de uno de tus proyectos el cursor parece un rectángulo, lo has hecho, bienvenida a Vim.

Untitled 4.png

En lo personal prefiero trabajar de esta forma, con Vim instalado dentro de Visual Studio Code, siéntente libre de usarlo como prefieras 💚.

Los modos

Al intentar escribir en un archivo podrás notar que no pasa nada o no pasa exactamente lo que tú esperas que pase, esto es porque el modo por defecto al abrir un archivo es el modo normal.

Vim tiene cuatro modos que son:

  • Modo normal: permite al usuario navegar por el archivo.
Untitled 5.png
  • Modo insert: permite editar el texto del archivo, añadir nuevo contenido o eliminarlo.

    Se accede a este modo presionando la tecla i desde el modo NORMAL.

    Si queremos salir de este modo basta con presionar ESC.

Untitled 6.png
  • Modo visual: es utilizado para seleccionar texto.

    Se accede a este modo con la tecla v desde el modo NORMAL.

    Si queremos salir de este modo basta con presionar ESC.

Untitled 7.png
  • Modo comando: permite realizar acciones administrativas sobre el archivo, como lo puede ser buscar en el texto, salir, guardar, borrar líneas y más.

    Se accede a este modo escribiendo : seguido del comando a ejecutar.

    ComandoAcción
    :qSale del archivo, siempre y cuando no haya cambios pendientes de guardar.
    :q!Sale del archivo descartando los cambios sin guardar.
    :wGuarda los cambios del archivo, pero se continúa editando.
    :wqGuarda los cambios y sale de Vim.
Untitled 8.png

Moviéndonos por los archivos

Ahora que ya sabemos cambiar entre los diferentes modos de Vim, veamos cómo movernos a lo largo de un archivo. Si estamos en el modo normal al presionar algunas teclas no sucede lo esperado, ya que este modo es un modo lectura y lo podemos usar para revisar todo un archivo sin cambiar nada.

Si estamos en Vim las teclas de dirección no funcionarán, por otro lado, dentro de Visual Studio Code sí funcionan, pero supongamos que no y aprendamos a movernos como sería en Vim nativo para ser unas ases con esta herramienta.

En Vim nos movemos con HJKL, donde:

  • H es a la izquierda.
  • J es hacia abajo.
  • K es hacia arriba.
  • L es a la derecha.

Utilizar esta combinación de teclas para moverse por Vim proporciona una navegación más ágil dentro el modo normal por lo cual a pesar de que Visual Studio Code soporta el movimiento con flechas yo te recomienda que te familiarices con esta combinación.

Si quieres acostumbrarte a navegar con HJKL, te recomiendo este jueguito llamado VIM Adventures donde te moverás usando esta combinación de teclas para completar cada nivel.

Una vez que dominas estos movimientos podrás trabajar con comandos un poco más complejos, llamados motions, que nos harán quedar como The Flash cuando estemos en Vim.

Antes de empezar a ver los motions que tiene Vim, déjame hablarte sobre una característica particular y es que si has trabajado con otros editores estarás acostumbrada a usar combinaciones de teclas, por ejemplo, CMD + c para copiar y CMD + v para pegar. A esto se le conoce como chords y aunque Vim también los utiliza, está basado en melodies.

Las melodies no es otra cosa que presionar una tecla después de otra, por lo que si en Vim tenemos el comando ge significa que primero hay que presionar la g y después la e.

Una vez explicado esto, continuemos.

Palabra por palabra

Entre los motions de Vim existe uno que permite que el cursor se mueva de forma horizontal desde la palabra en que se encuentra el cursor hasta el inicio de la siguiente.

  • w salta de una palabra al inicio de la siguiente, o sea, de izquierda a derecha.
  • b tiene la misma acción que w pero en sentido opuesto.

Por otro lado si no queremos ir al inicio de la siguiente sino al final también tenemos motions para esto.

  • e salta de una palabra al final de la siguiente, o sea, de izquierda a derecha.
  • ge tiene la misma acción que w pero en sentido opuesto.

Una palabra en Vim incluye únicamente letras y números, no están considerados los caracteres especiales. Si queremos que los caracteres especiales sean considerados parte de una palabra entonces utilizaremos las variantes en mayúsculas de las teclas anteriores W, B, E y GE.

Pero Alex… ¿Cómo uso esas teclas en mayúsculas?

Tenemos dos opciones para esto:

  1. Activar las mayúsculas de nuestro teclado con caps locks.
  2. Usar la combinación shift + tecla

Y listo, con eso incluyes caracteres especiales al moverte entre palabras.

Buscando un caracter específico

Vim incluye movimientos horizontales a caracteres específicos, esto se logra con la tecla f seguida del caracter que estemos buscando. Por ejemplo: fl llevará el cursor a la siguiente l de la línea de código.

Después de encontrar la primera ocurrencia, con la tecla ; el cursor se moverá a la siguiente y con , se moverá a la ocurrencia anterior.

Por otro lado si quieres mover el cursor justo antes de la aparición del caracter que estas buscando, en lugar de usar f{caracter}, utiliza t{caracter}.

Movimientos horizontales extremos

Ya sabes ir palabra por palabra o a un caracter en específico, pero ¿qué pasa si quieres ir hasta el final de una línea o al principio en un solo movimiento?

Bueno Vim tiene los comandos para que vayas a donde quieras dentro de tus archivos:

  • 0 desplaza el cursor al primer carácter de una línea.
  • $ desplaza el cursor al final de la línea
  • ^ desplaza el cursor al primer caracter que no sea vacío de una línea.
  • g_ desplaza el cursos al último caracter que no sea vacío de una línea.

Yendo de una línea a otra

Ya te hablé de los movimientos horizontales, ahora veamos como ir de una línea a otra. Si bien tenemos k y j para ir de arriba a abajo como si fueran nuestras flechas de dirección Vim ofrece las siguientes opciones:

  • } salta párrafos enteros de arriba hacía abajo.
  • { salta igualmente párrafos pero en sentido opuesto, o sea, de abajo hacia arriba.
  • CTRL + D mueve la vista del archivo media página hacia abajo.
  • CTRL + U mueve la vista del archivo media página hacia arriba.

Precisión de arriba hacia abajo

Vim permite buscar patrones dentro de los archivos, esto permite buscar coincidencias de palabras como si utilizáramos el find del navegador. Como todos los comandos en Vim, está la opción para buscar hacia adelante /{pattern} o buscar hacia atrás ?{pattern}.

A medida que se escribe el patrón, las palabras que coincidan con este resaltarán y al dar ENTER el cursor saltará a la primera coincidencia y podrás editar si así lo requieres.

Untitled 9.png

Al usar los patrones para buscar también se puede usar n que tiene como acción saltar a la siguiente coincidencia y N para la coincidencia anterior.

Como a Vim le encanta que seamos rápidos y aprovechemos el tiempo, puedes usar / ENTER o ? ENTER para ejecutar la última búsqueda nuevamente.

Por último puedes utilizar * para buscar la palabra en la que se encuentra el cursor.

Contadores

Los contadores son números que se anteponen a un comando para multiplicar su efecto, por ejemplo: 4w mueve el cursor cuatro palabras hacia adelante. Puedes utilizar {count}motion para multiplicar un comando N cantidad de veces.

Definiciones

El comando gd salta a la definición de lo que sea que esté debajo del cursor, en este caso la función helloWorld().

Untitled 10.png

Por otro lado el comando gf es utilizado para moverse a un archivo en una importación.

Movimientos bonus

Repasando, en este momento ya tienes maestría para moverte en Vim, sabes ir de palabra en palabra, buscar caracteres y patrones, ir a las definiciones y también hacer movimientos verticales. Ahora revisemos un par de trucos adicionales para que te muevas a lo largo de los archivos.

  • gg mueve el cursos al inicio del archivo.
  • {#line}gg mueve el cursos a la línea indicada.
  • G mueve el cursos al final del archivo.

## Operadores

Los motions que has estado aprendiendo no son solo para moverse a través de los diferentes archivos en los que trabajas, también pueden usarse en conjunto con los operadores para editar el tu código en el modo Normal.

Es por esto que tenemos la siguiente estructura:

Untitled 11.png
  • Operador: es la acción a realizar como puede ser editar, borrar, etcétera.
  • Contador: establece cuántas veces se va a realizar una acción.
  • Motion: representa una fracción de texto al que se le aplicará la acción definida por el operador.

Por ejemplo: d5j borra las siguientes cinco lineas hacia abajo desde la posición del cursor.

Los operadores que encontramos dentro de Vim son:

  • Delete d este operador se utiliza para borrar el contenido desde la posición actual del cursor hasta el final de la línea
  • Change c este operador borra y cambia al modo insert habilitando la escritura.
  • Yank y este operador es lo que en otros editores conoces como copiar.
  • Put p este operador es conocido también en otros editores como pegar.

Si al usar estos operadores los duplicamos ejecutan su acción en toda la línea, por ejemplo dd borra toda la línea sobre la que se encuentra el cursor. Por otro lado si el operador lo utilizas en mayúsculas tomará acción desde la posición del cursor, o sea, al usar D borra desde el cursor al final de la línea.

Hay un operador considerado mágico en Vim, este es el operador . que permite repetir el último cambio realizado. Por ejemplo: imagina que ejecutas dd para borrar un línea, si quieres repetir esta acción simplemente usas . y la acción vuelve a suceder.

Edición con objetos de texto

Lo que en Vim se conoce como objetos de texto se pueden entender como las entidades de un modelo de dominio de documento… pero ¿de qué se compone un documento? Bueno, se compone de palabras, frases, párrafos, etiquetas, etcétera y todo estos son objetos de texto.

La forma en que se especifica un objeto de texto dentro de un comando es combinando la a que representa la unión entre la acción y el objeto incluyendo espacios o i que representa la misma unión pero sin considerar los espacios en blanco.

Los objetos de texto se representan como:

  • w para palabras
  • s para frases
  • ’ o " para comillas
  • p para párrafos
  • b para bloques entre paréntesis
  • B para bloques entre llaves
  • t para etiquetas

Con esto puedes obtener las siguientes combinaciones:

  • daw para borrar una palabra.
  • das para borrar una frase.
  • da" para borrar algo entre comillas dobles, incluyendo las comillas.
  • ci" para cambiar algo entre comillas dobles.
  • dap para borrar un párrafo
  • dabda( o da) para borrar un bloque entre paréntesis.
  • daBda{ o da} para borrar un bloque entre llaves
  • dat para borrar una etiqueta HTML.
  • cit para cambiar el contenido de una etiqueta HTML.

Veamos un ejemplo, digamos que quieres cambiar el contenido de la siguiente cadena:

const saludo = 'Aprendiendo Vim en Platzi'

Si utilizas la combinación ci'Hola ESC obtendrás:

const saludo = 'Hola'

Por cosas como estas es que Vim ofrece una mayor productividad, ya que con sencillas combinaciones se obtienen poderosas acciones.

Listos para escribir

Ahora que ya dominas como moverte por Vim toca escribir algo de código y si recuerdas los modos de los que hablamos al inicio para escribir tienes que estar en el modo insert.

Hay dos comandos principales que ponen a Vim en el modo de inserción: i para insertar y a para anexar. La diferencia entre ambos comandos es que i te pone en modo de inserción antes del cursor. Mientras que a te pone en modo inserción después del cursor.

En este momento debes de sospechar que tanto i como a tienen su contraparte en mayúsculas como otros tantos comandos en Vim y sí, tienes razón. I inicia el modo de inserción al principio de la línea actual mientras que A lo hace al final de la línea.

Los dos comandos que acabamos de revisar aunque son los principales para comenzar a escribir en Vim no son los únicos, también puedes usar:

  • o inserta una nueva línea debajo de donde se encuentra el cursor y se queda listo para escribir.
  • O inserta una nueva línea encima de la actual y también se queda listo para empezar a ingresar texto.
  • gi inicia el modo de inserción en el último lugar donde dejaste de estar en modo de inserción. Imagina que dejaste el modo de inserción por error y quieres volver al mismo punto donde lo dejaste, bueno, para esa esa situación este comando será tu mejor amigo.

Pero esto no es todo, dentro del modo de inserción hay comandos útiles que te ayudarán a corregir typos sin tener que regresar al modo normal.

  • CTRL + h borra el último carácter escrito.
  • CTRL + w borra la última palabra escrita.
  • CTRL + u borra la última línea escrita.

Una vez que esta estás en el modo de inserción Vim se comporta casi como cualquier otro editor de texto, estando en este modo si deseas volver al modo norma basta con presionar ESC.

Explorando el modo visual

El modo visual de Vim equivale en otro editor al momento en que quieres seleccionar texto y lo haces con el ratón, pero obviamente estando en Vim no quieres usar el ratón, para eso están los motions. Este modo lo encuentro muy útil ya que te da una respuesta visual mientras vas seleccionando el texto.

Existen tres formas de iniciar el modo visual, que son:

  1. v inicia el modo visual por carácter, esto quiere decir que cuando te desplazas se va seleccionando carácter por carácter.
  2. V inicia el modo visual línea a línea, lo cual quiere decir que al desplazarse se seleccionan líneas completas.
  3. CTRL + V inicial el modo visual por bloque, en este modo al desplazarse se van seleccionado bloques de texto.

Hay que tener en cuenta que el modo visual funciona de forma opuesta al modo normal. Esto significa que mientras en el modo normal primero se define el operador y luego el texto al que se le aplica la acción, en el modo visual primero se selecciona el texto y luego se escribe el operador.

Trabajar en más de un archivo a la vez

Vim soporta dividir pantalla con más de un archivo y también pestañas. Tiene la versatilidad de que permite crear, redimensionar, reorganizar y moverte entre las divisiones y las pestañas de forma bastante sencilla.

Divisiones de pantalla

Dividir tu espacio de trabajo nunca había sido tan sencillo, puedes dividir tu espacio de trabajo en ventanas divididas de forma vertical y horizontal.

Para dividir el espacio de trabajo tenemos dos comandos:

  1. :sp {archivo} genera una división horizontal.
  2. :vsp {archivo} genera una división vertical.

La combinación de teclas (CTRL + W) + hjkl permite que te muevas entre cada archivo.

Pestañas

Si prefieres trabajar en pestañas en lugar de dividir la pantalla los comandos para lograr esto son:

  • :tabnew {archivo} para abrir el archivo en una nueva pestaña.
  • :tabn para ir a la siguiente pestaña.
  • :tabp para ir a la pestaña anterior.

Key maps útiles en Visual Studio Code

El equipo de VSCodeVim creó algunas combinaciones super útiles y únicas para VSCode:

  • gb en el modo de inserción añade otro cursor en la siguiente palabra que coincida con la palabra que está en el cursor actual.
  • af en el modo visual permite seleccionar bloques de texto cada vez más grandes.
  • gh es el equivalente a pasar por encima el ratón en la posición que se encuentra el cursor. Este comando te permite disfrutar de características como mensajes de error, tipos, etcétera que solo están disponibles a través del ratón.

¿Y ahora que sigue?

Ahora que tienes las herramientas para empezar tu camino con este gran editor, es momento de ensuciarse las manos y practicar, practicar, practicar. Te recomiendo tomar nuestro curso de terminal y línea de comandos con Enrique Devars y así pulir aún más tus habilidades. Lo mejor de todo: puedes empezarlo sin costo.

Curso de Introducción a la Terminal y Línea de Comandos
Curso de Introducción a la Terminal y Línea de Comandos

Curso de Introducción a la Terminal y Línea de Comandos

La terminal y línea de comandos es una herramienta esencial que todo desarrollador de software, sin importar su área de especialización, pues se encuentra presente de forma universal. En este curso aprenderás a aprovechar el potencial de los sistemas operativos basados en UNIX siendo capaz de dominar los comandos básicos de la terminal, realizar búsquedas que agilicen tu trabajo y administrar permisos en tu equipo.
Alex
Alex
alexcamachogz

38011Puntos

hace 24 días

Todas sus entradas
Escribe tu comentario
+ 2
Ordenar por:
9
1423Puntos

Espero que saquen un curso de Vim, la verdad me gustaria mucho

1
6709Puntos
19 días

Con esta Guia tienes más que suficiente.

Buenisimo el post

4
39839Puntos
<h1>Que sigue despues de instalar Neovim</h1>

Ahora que instalaste Vim, Neovim o Vi. Como cambiar ese espantoso color monocromatico de neovim para que puedas usarlo como tu editor de codigo y maximar el uso de esta herramienta.

Bueno lo primero que haremos es explicar lo que debes tener instalado para que puedas instalar plugins que nos ayudaran a hacer mejor el editor y que puedas moverte con facilidad sobre diferentes archivos.


Instalando lo necesario

Antes que todo deberas instalar algunas herramientas para que neovim funcione excelente en tu computadora.

Ubuntu:

sudo add-apt-repository ppa:neovim-ppa/unstable

Esto instalara la ultima version estable de Neovim en tu computadora, despues de esto para ubuntu necesitaras hacer una actualizacion de paquetes con:

sudo apt update

Para continuar ya tienes todo listo para instalar neovim

sudo apt install neovim

Si tu distrubicion de linux no es debian si no arch puedes utilizar la siguiente linea de codigo:

Arch:

Sudo pacman -S neovim

Ahora solo falta comprobar si neovim esta instalado, para eso solo escribe nvim en la terminal y deberia abrirse un editor de texto. (para salir de este editor solo escribe :q)

Tambien necesitaras instalar mas herramientas para que puedas copiar y pegar dentro y fuera de los archivos que estes editando con neovim. Para eso tenemos que instalar lo siguiente:

sudo apt install xclip
sudo apt install xsel

Hasta ahora todo va bien pero si vamos a automatizar tareas en neovim ocuparemos Ruby y Python instalados tambien.

Instalando python 3

sudo apt install python3-pip

Instalamos neovim para python

python3 -m pip install neovim
python3 -m pip install --upgrade neovim

Ahora continuamos con ruby

sudo apt install ruby
sudo apt install ruby-dev

Instalamos neovim para ruby

sudo gem install neovim

Para checar el estado de neovim y que no hayamos tenido algun error, debemos abrir un archivo con el comando

nvim

Luego una ves adentro del archivo escribiremos

:checkhealth

A lo que tendremos el siguiente resultado

2021-12-28-185206_699x642_scrot.png

Instalando gestor de plugs

Para instalar plugs en neovim debemos primero instalar el gestor que instalara esos plugs.

sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \
       https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
<h1>Configuracion de Neo Vim</h1>

Para una configuracion rapida antes de instalar plugs, debemos entender lo que ya podemos hacer en neovim, para ello tenemos que crear un archivo dentro de la ruta .config de tu carpeta raiz en tu computadora.

para ir a la carpeta raiz puedes usar: cd o ~ en la terminal, luego ahi creamos una carpeta que se llame nvim dentro de la carpeta de .config

mkdir -p ./.config/nvim && cd ./.config/nvim

Esto creara una carpeta dentro de .config para despues dirigirte a la carpeta creada, una vez ahi crearas un archivo que se llamara .vimrc, donde estara alojada toda tu configuracion de neo vim

nvim .vimrc

Para crear el archivo no hace falta que utilicemos touch pues neovim lo crea si no existe y si sales del archivo sin guardarlo no existira, por eso es importante siempre guardar los documentos.


Agregando magia a neovim

Dentro del archivo que hemos creado primero lo guardaremos con :w para no volverlo a crear.

Dentro del archivo escribiremos lo siguiente, para que agreguemos funciones que nos serviran cuando estemos editando codigo:

setnumber"Muestra el numero de la izquierdaset mouse=a"Con esta opción cuando copiemos desde la terminal deslizando el ratón por el texto del fichero no se copiarán los números de líneaset autoindent "Aplica identacion automatica en vimset smartindent "Aplica identacion de acuerdo al lenguajeset tabstop=2"Indica cuántos espacios tiene una tabulaciónsetshiftwidth=2"Indica el nº de espacios para una indentaciónset expandtab "Con esta opcion agregaremos caracteres en lugar de Tab cuando presionemos tabularset numberwidth=1"Columnas para la line de numerosset clipboard=unnamed "Copia al portapapelessyntax enable "Te remarca la sintaxisset showcmd "Te muestra el historialset ruler "Te muestra en que linea estasset cursorline "Resalta la linea en la pantallaset encoding=utf-8"Acepta los caracteres especiales como la ñset showmatch "Resalta los corchetesset relativenumber "Utiliza numero relativos dependiendo en la linea que te encuentras, esto es util para moverte saltando espacios grandes

Instalando plugs

Para agregar los plugs que quieras instalar en neovim, deberas hacer los siguiente:

call plug#begin('~/.vim/plugged')
    "Aqui dentro estaran los plugs que requieras instalar por ejemplo:"Un tema oscuro como one dark
    Plug 'navarasu/onedark.nvim'call plug#end()

Una vez que hayas agregado la lista de los plug que necesitas queda guardar cambios :w y salir del archivo :q para volver a entrar en el y que los cambios se hayan hecho.

Cuando estes dentro deberas escribir :PlugInstall para que se instalen todos los plug que necesites.

Creando comandos rapidos en neovim

En el mismo archivo, podemos crear comandos rapidos para que no siempre tengamos que utilizar : para mandar llamar una funcion.

Para esto deberas elegir una tecla maestra como el espacio

let mapleader=" "

Esto hara que esa tecla sea tu tecla lider con la que mandes llamar tus comandos rapidos, por ejemplo te dejo 3 ejemplos de comandos rapidos

" Este comando hara que guardes tu archivo con espacio + w
nnoremap <Leader>w :w<CR>

" Este comando hara que guardes (incluso los archivos que estan dentro del buffer) y saldra de este, tu archivo con espacio + e
nnoremap <Leader>e :xa<CR>

" Este comando hara que salgas tu archivo con espacio + q
nnoremap <Leader>q :q<CR>

Lista de plugs utiles

" Con este plug puedes utilizar markdown dentro de nvim
Plug 'plasticboy/vim-markdown'" Este plug te permite que puedas editar varias lineas de codigo a la vez
Plug 'terryma/vim-multiple-cursors'" Este plug te dara iconos para cuando estes navegando por la barra de archivos en Nerd-tree
Plug 'ryanoasis/vim-devicons'" Te permitira tener autocompletado y resaltador de sintaxis en archivos de Angular
Plug 'iamcco/coc-angular'
Plug 'burnettk/vim-angular'" Te permitira que neovim revise la sintaxis de Typescript, JS y JSX
Plug 'leafgarland/typescript-vim'
Plug 'maxmellon/vim-jsx-pretty'" Tendras varios colores en parentesis y llaves para que los identifiques
Plug 'frazrepo/vim-rainbow'" El plug que te ayudara a saber cuanto tiempo pasas hechando codigo
Plug 'wakatime/vim-wakatime'" Con esto podras acceder al arbol de archivos de la carpeta donde se encuentra tu archivo
Plug 'scrooloose/nerdtree'" Puedes correr tus pruebas con neovim y termux y este plug te ayuda a eso
Plug 'tyewang/vimux-jest-test'
Plug 'janko-m/vim-test'" Sin necesidad que salgas de tu archivo puedes dirigirte a otro archivo con un comando rapido y fuzzy lo permite
Plug 'junegunn/fzf'
Plug 'junegunn/fzf.vim'" El plug que te ayuda a hacer commit, pull, push, etc sin que tengas que salir del archivo que estas modificando
Plug 'tpope/vim-fugitive'
1
3417Puntos
17 días

Excelente explicación. Recomendaría no utilizar la instalación por medio del repositorio de paquetes del sistema operativo ya que los desarrolladores han mencionado que van a dejar de utilizar este método de distribución.

En su lugar, recomiendo utilizar la versión descargable de su Github en su versión latest o, si se desea utilizar plugins desarrollados en lua, seguir los pasos de building.

1
3538Puntos
5 días

Este señor si sabe. Lo digo como usuario de nvim y que dejo VScode para cosas muy especificas.

2
15807Puntos

Gracias por tu explicación super detallada, ahora a poner dedos en el teclado!!!

1
38011Puntos
24 días

Genial 😄 toca ponerse a practicar para dominarlo!

2
5317Puntos

En el caso de que no te aparezcan las teclas de como salir del modo, la tecla que deberia aparecer es de “esc”

Que instruccion es en el caso de esta linea?:
“La combinación de teclas + hjkl permite que te muevas entre cada archivo.”

1
38011Puntos
24 días

¡Hola! El texto debería de decir:

La combinación de teclas (CTRL + W) + hjkl permite que te muevas entre cada archivo.

Había un error en el markdown, pero ya lo corregí, gracias 💚

2
4297Puntos

Gracias por la explicación, Alex, aquí dejo mi configuración de neovim por si le puede servir de guía a alguien, falta el formateador de código pero normalmente suelo hacerlo con gg=G, https://github.com/Zawng/Z-Vim

2
41985Puntos

Excelente Alex, gracias por compartir.

2
3186Puntos

Algo muy bueno para aprender mas sobre neovim, es una vez dentro y estando en modo normal, escribimos :Tutor, y este nos dará una introducción bastante detallada e interactiva sobre el uso de las distintas herramientas que posee neovim.

1

Tienes razón vim es muy poderoso al escribir código, yo aprendí algunos comandos usando en la shell de linux , pero después lo incluí en vscode, donde recomiendo la configuración de Joaquin Varela en su video The best vim config for vscode, su canal de youtube me sirvio para configurar vim y neovim en Windows.
Lo mejor de todo es que lo pude instalar en un IDE (Microchip Studio) que sirve para programar Microcontroladores de la familia ATMEL y soy un poco más rápido escribiendo código, aunque se me siguen olvidando algunos motions.

1
1574Puntos

Excelente, lo que estaba buscando!!

Gracias por el aporte 😃

1
3538Puntos

La verdad el artículo Tiene información aceptable pero no es nada recomendable pasar VSCode a usarlo vim o en realidad como NeoVim.

Neovim y vim tienen diferencias sustanciales con VScode una de las principales es que vi o vim esta en todas las consolas de los servidores de linux y VSCODE no.

Por otro lado VScode tiene su forma y flujo de trabajo ponerle las facultades de Vim no lo hace mejor sino que incluso te complica.

Mi humilde recomendación como usuario de linux y VIM si te interesa trabajar sin el ratón y acelerar tu velocidad de desarrollo mira la opción de Neovim con cosas como NerdTree y cosas como Airline sino usa el flujo de VScode no tiene nada de malo pero cruzar un editor con otro será un verdadero dolor de cabeza

1
5317Puntos

Espero con ansias un curso de vim/neovim y personalizacion de todo nuestro entorno de trabajo 😃), excelente post!!! hora usar magia al programar!