{{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.