{{tag>éditeur_de_texte console programmation IDE}} {{ :application:neovim:neovim_logo_2x.png| logo de neovim}} ====== Neovim ====== **[[wpfr>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. ===== Installation ===== Il existe plusieurs méthodes pour d'installation au choix : * **Neovim** est disponible dans les [[#dépôts officiels APT]] d'Ubuntu, mais il s'agit rarement de la dernière version. * Il est aussi distribué par ses développeurs au format [[#AppImage]]. * Il existe **[[#Bob]]**, un gestionnaire de versions pour **Neovim**. ==== dépôts officiels APT ==== En version de votre [[:versions|version]] d'Ubuntu cette méthode ne permet pas d'installer une version récente de **Neovim**. **Neovim** est présent dans les [[:dépôts|dépôts Ubuntu]] ([[:deb]]). On peut donc simplement [[:tutoriel:comment_installer_un_paquet|installer le paquet]] ''[[apt>neovim]]'' : sudo apt install neovim ==== AppImage ==== Cette méthode ne permet pas de mettre à jour automatiquement **Neovim** ! Pour installer une **[[:AppImage]]** référez-vous avant tout au [[:appimage#installer_un_appimage|chapitre dédié]] au sujet. En résumé téléchargez le fichier [[https://github.com/neovim/neovim/releases/download/nightly/nvim-linux-x86_64.appimage]] puis [[:permissions#modifier_les_permissions|rendez-le exécutable]] (clic droit sur le fichier -> //Propriétés// -> //Permissions// -> //Autoriser l’exécution//). Finalement lancez-le en double-cliquant dessus.\\ Vous pouvez utiliser un service tel que **[[:appimage#go_appimageappimaged|appimaged]]** pour créer automatiquement un [[:raccourci-lanceur|lanceur]]. Ou en ligne de commande : wget https://github.com/neovim/neovim/releases/download/nightly/nvim-linux-x86_64.appimage chmod +x nvim-linux-x86_64.appimage mv nvim-linux-x86_64.appimage .local/bin/nvim (puis éventuellement relancer le terminal) ==== Bob ==== **[[https://github.com/MordechaiHadad/bob|Bob]]** est un gestionnaire de versions pour **Neovim**. Il n'est malheureusement pas disponible dans les dépôts officiel, mais peut s'installer au moyen de **cargo** (le gestionnaire de paquet de [[wpfr>Rust_(langage)|Rust]], dépôt [[https://crates.io/|crates]]). Il faut donc installer **cargo**, pour installer **Bob**, pour installer **Neovim**... - [[:tutoriel:comment_installer_un_paquet|installer le paquet]] ''[[apt>cargo]]'' :sudo apt install cargo - puis **Bob** depuis **cargo** :cargo install bob-nvim - puis **Neovim** depuis **Bob** :bob install stable ==== 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 ===== Pour savoir où se trouve le fichier de configuration, dans **Neovim**, on peut exécuter : :help nvim-config # qui va sans doute vous retourner : Use $XDG_CONFIG_HOME/nvim/init.vim` instead of `.vimrc` for your |config Les fichiers décris ci-dessous n'existent pas si [[:vim]] n'avait pas été préalablement installé, auquel cas il faut les créer !\\ Sous Ubuntu le répertoire de config par défaut est ''~/.config'' ((https://neovim.io/doc/user/starting.html#base-directories)) 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 ==== 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**. ===== Voir aussi ===== * **(//en//)** [[https://neovim.io/|site officiel]] * [[https://github.com/neovim/neovim|GitHub]] * [[https://fabi1cazenave.github.io/slides/2024-jdll-vim-ergo/|Ergonomie Vimiste]] : une excellente initiation à l'utilisation de **Neovim**, **[[:Vim]]**, etc. ---- //Contributeurs : [[:utilisateurs:krodelabestiole]]...//