{{tag>éditeur_de_texte console programmation IDE}}
----
{{ :application:neovim:neovim_logo_2x.png| logo de neovim}}
====== Neovim ======
Neovim est un éditeur de texte. C'est un [[wpfr>Fork_(développement_logiciel)|fork]] de [[:vim]] dont l'objectif est d'être plus facile à étendre et à maintenir.
Si avec [[:bionic]], il suffisait d’installer le paquet //vim-gnome// pour avoir l’option //presse-papier// (clipboard), sous [[:jammy]], il faut soit installer [[apt>vim-gtk3]] soit **neovim**. Ce dernier apporte d’autres avantages.
===== Installation =====
==== Via les dépôts standard ====
Neovim est présent dans les dépôts standard :\\
sudo apt install neovim
mais une fois encore dans une version pas toujours très à jour ([[https://packages.ubuntu.com/search?neovim|exemple]] : 0.6 sous [[:jammy]] alors que la 0.8 est stable et la 0.9 disponible en version //dev//)
==== Via un paquet ====
Cette solution permet de disposer de la dernière version stable ou en développement.\\
Elles sont disponible via la page [[https://github.com/neovim/neovim/releases]] en [[:cli|CLI]] :
wget https://github.com/neovim/neovim/releases/download/v0.8.3/nvim-linux64.deb
Si vous avez une ancienne version des dépôts standard, désinstallez-la au préalable avec :
sudo apt autoremove neovim
Si vous êtes sûr de votre basculement vers neovim, vous pouvez supprimer vim :
sudo apt remove vim-common
ce qui permettra de créer les [[#alias]] de nos commandes usuelles…
Puis lancer l'installation du paquet téléchargé :
sudo apt install ./nvim-linux64.deb
==== alias et vim/vimdiff avec git ====
Vous voudrez sans doute continuer à appeler votre éditeur préféré via les commandes //vi//, //vim// et //vimdiff//?\\
Pour cela, définir les [[:alias]] :\\
alias vi='nvim'
alias vim='nvim'
alias vimdiff='nvim -d '
Avec git, il faut définir l'éditeur pour les commits et/ou les correction lors des problèmes de fusion, et si vous utilisiez //vimdiff// (qui n'est autre qu'un alias vers //vim -d//), il suffit de le spécifier dans votre fichier de configuration de [[:git]] :
[core]
editor = nvim
[diff]
tool = nvimdiff
Pour l'édition des tâches [[:CRON]], il suffit d'exécuter ((src: https://unix.stackexchange.com/questions/311105/permanently-setting-vim-as-the-editor-for-crontab)):
echo 'export EDITOR=nvim' >> ~/.bashrc
===== Configuration =====
Le premier fichier de configuration lu par neovim est le fichier ~/.config/nvim/init.vim
Par défaut, celui-ci //source// ~/.vimrc
on peut remplacer comme source ~/.vim/vimrc
Dans ~/.vim/vimrc,\\
pour pouvoir utiliser les raccourcis classiques de clavier pour les coller/supprimer à partir du presse-papier système (( (en) https://neovim.io/doc/user/provider.html#clipboard)) :
set clipboard+=unnamedplus
ajout de la ligne d’état (//statusline//, //ruler//), notamment pour avoir le nom du fichier et le numéro de colonne du curseur :
set statusline=%<%f\ %h%m%r%=%-14.(%l,%c%V%)\ %P
Ces fichiers n'existent pas si [[:vim]] n'avait pas été préalablement installé, auquel cas il faut les créer !
==== Répertoires ====
Les fichiers de coloration syntaxique se trouvent dans le répertoire **/usr/share/nvim/runtime/syntax**
===== Fonctionnalités =====
==== Correcteur orthographique ====
cf. [[vim#correcteur_s_orthographique_s|Vim correcteur orthographique]] qui fonctionne aussi dans neovim.