* Archivo de configuración de nvim:
~/.config/nvim/init.vim

* set number         para que se muestren los números de línea
* set cursorcolumn   para que se marque la columna en la que estoy

* autocmd FileType * set textwidth=80  fijamos la anchura de texto que vemos

* :source %          para que cualquier cambio en init.vim se aplique sin salir

=====================
MODOS

i        modo insertar 
a        modo insertar
esc      modo consola de comandos
v        modo visual

=====================
ABRIR BUSCAR ARCHIVOS

:edit    abre un archivo
         acepta comodines *
         abre también el explorador nativo de nvm,  netrw
:edit ~/ abrirá como un explorador de archivos tu carpeta de usuario
         netrw permite moverte por los directorios, renombrar y borrar archivos!!!

:find    busca archivos, ojo en el path de vim
:grep    busca archivos por contenido

:Vexplore   divide en dos ventanas poniendo netrw a la izquierda para navegar por tus archivos
:Sexplore   lo mismo con dos ventanas horizontales :)

principales comandos de netrw:

      %    Crear un nuevo archivo
      d    Crear un nuevo directorio
      R    Renombra un archivo o directorio
      D    Elimina un archivo o directorio
      -    Subir un nivel

=====================
SALIR / SUSPENDER

:q       salir
:q!      salir sin grabar
:qall    salir de todos los buffers abiertos
:qall

ctrl-z    suspende vim
:stop
:suspend

fg        retoma la sesión suspendi

=====================
GUARDAR

:w       guardar
:wq      guardar y salir
:wqall   guardar todos los buffers y salir

=====================
MOVERSE POR EL DOCUMENTO CON OPERADORES

gg       te lleva al principio del documento
nG       Va a la línea n
n%       Va al n% del archivo
G        te lleva al final del documento
W        mover el cursor a la palabra siguiente
}        saltar al siguiente párrafo
{        saltar al anterior párrafo
)        saltar a la frases siguiente
(        saltar a la frase anterior.
$        ir al final de la línea


OPERADORES
y        copiar un texto
d        cortar un texto
c

d$       borro hasta fin de línea
dw       borro palabra
d}       borro hasta párrafo siguiente
dG       borro hasta fin de documento

====================
OTROS

vim +%s/hola/adiós/g test    sustituye hola por adiós del archivo test y lo abre

Las órdenes son contatenables y pueden ponerse varias:
vim +%s/hola/adiós/g +%s/grande/pequeño/g test

ls -lha | vim -     redirecciona la salida del comando ls -lha a vim, muy chulo esto

====================
BUFFERS

:buffers   lista los buffers abiertos
:ls
:files

:buffeernext    ir al siguiente buffer
:bn
:bufferprevious ir al anterior buffer
:bp

:bdelete númerobuffer    borrar un buffer

====================
VENTANAS

vim -o2   abrir vim con dos ventanas horizontales
vim -O2   abrir vim con dos ventanas verticales
vim -O2 ejemplo1 ejemplo2     abre vim con dos ventanas veticales abriendo esos archivos

Ctrl-w        cambia de ventana activa

Para abrir o crear dos archivos dividiendo la pantalla en dos ventanas verticales:
vim archivo1
:vsplit archivo2

si quiero que la división de ventanas sea horizontal:
:split archivo2

====================
PESTAÑAS:
:tabnew ejemplo    abre nuevo archivo en ptra pestaña

Para arrancar Vim con múltiples pestañas, puedes ejecutar esto desde la terminal:
vim -p archivo1.js archivo2.js archivo3.js

Ctrl-RePág       para cambiar de pestaña activa
Ctrl-AvPág

Si incluyo esto en el init.vim puedo cambiar de pestañas con Ctrl-izq o Ctrl-drcha:
nnoremap  :tabprevious                            
nnoremap  :tabnext  

===================
COPIAR Y PEGAR
Debemos entrar en modo visual:
esc + v
v        empezamos a seleccionar desde donde esté el cursor y nos movemos hasta donde acabe la selección
V        selecciona toda la línea
y        copia el texto seleccionado anteriormente
d        corta el texto seleccionado
p        pega el texto detrás de la posición del cursor.

yy       copia línea completa
dd       corta línea completa

===============================
INSTALAR PLUGINS EN NEOVIM

* Instalar un gestor de plugins como vim-plug, creamos la carpeta "autoload" dentro del directorio "~/.config/neovim"
* Copiamos el archivo del repositorio en github de vim-plug en el directorio "autoload":
      wget https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
* Añadimos estas líneas al archivo de confiuración init.vim:
      call plug#begin('~/.config/nvim/plugged')
      call plug#end()
* ejecutamos esto:
      :source %
*Para instalar un plugin, acudimos a la web https://vimawesome.com/, buscamos un plugin que nos interese y la
línea que debemos poner en el archivo init.vim para el gestor vim-plug, init.vim quedará por ejemplo con estas líneas sobre plugins:
      call plug#begin('~/.config/nvim/plugged')
      Plug 'flazz/vim-colorschemes'
      call plug#end()
Ejecutar después:
      :source %
      :PlugInstall
Comprobar después con:
      :PlugStatus