Neovim es un fork del famoso editor de texto vim creado por Bram Moolenaar.
Las características que lo hacen diferente de vim son:
- Viene preconfigurado por defecto para ser más amigable con el usuario.
- Mejor soporte de plugins.
- Soporte para tareas asíncronas.
- Preparado para ser backend de otros editores de texto.
- Emulador de terminal integrado.
En el uso diario del editor no vamos a notar diferencia entre ambos, pero si vamos a encontrarnos menos problemas con los plugins y demás.
Instalación de neovim
Neovim suele estar en los repositorios de cualquier distribución Linux.
# Distros basadas en arch
sudo pacman -S neovim
# Debian y derivas
sudo apt-get install neovim
# Fedora
sudo dnf install neovim
Sino está disponible, en el github suelen lanzar versiones precompiladas en formato AppImage listas para usar.
wget https://github.com/neovim/neovim/releases/download/v0.4.4/nvim.appimage
chmod +x nvim.appimage
./nvim-appimage
El fichero de configuración de neovim está en la ruta:
~/.config/nvim/init.vim
Instalación de vim-plug
vim-plug es un gestor de plugins para vim. La instalación de vim-plug se encuentra en su repositorio.
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'
La instalación de nuevos plugins es realmente sencilla, tan solo tenemos que escribir lo siguiente en el init.vim
call plug#begin()
Plug "scrooloose/nerdtree"
call plug#end()
guardamos el fichero y escribimos el comando
:PlugInstall
Instalación de Coc (Conquer of Completion)
Coc es un motor de autocompletado de código. Tiene soporte para multitud de lenguajes de programación y se integra bastante bien con neovim. Para usar Coc necesitamos tener instalado nodejs
Instalamos Coc con vim-plug
Plug 'neoclide/coc.nvim', {'branch': 'release'}
Para instalar plugins de Coc escribir el comando:
:CocInstall coc-json coc-tsserver
Instalación automática e init.vim bajo git
En este repositorio he realizado un script de instalación automático aparte de mantener el fichero init.vim bajo git. Aquí tenemos el script:
Sustituir las llamadas de pacman al gestor de paquetes de la distribución que estés utilizando
#!/bin/bash
function coc_support {
sudo pacman -S node
nvim +"CocInstall \
coc-marketplace \
coc-python \
coc-clangd \
coc-tsserver \
coc-json \
coc-markdownlimit \
coc-phpactor \
coc-rls \
coc-git"
}
#install required packages
sudo pacman -S neovim
mkdir -p ~/.config/nvim/
ln -s $(pwd)/init.vim ~/.config/nvim/init.vim
#install vimplug
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'
#install all plugins from init.vim
nvim +PlugInstall
coc_support
Notar que realizamos un enlace simbólico desde ~/.config/nvim/init.vim hacia el fichero init.vim del repositorio. De esta forma realizamos los cambios en el fichero del repositorio y neovim lo detecta sin problemas.