Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
neovim [Le 17/03/2024, 10:22]
bcag2 [Fonctionnalités] correcteur orthographique
neovim [Le 08/09/2025, 16:00] (Version actuelle)
krodelabestiole mini corrections
Ligne 1: Ligne 1:
 {{tag>​éditeur_de_texte console programmation IDE}} {{tag>​éditeur_de_texte console programmation IDE}}
- 
----- 
  
 {{ :​application:​neovim:​neovim_logo_2x.png| logo de neovim}} {{ :​application:​neovim:​neovim_logo_2x.png| logo de neovim}}
- 
 ====== 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.+**[[wpfr>​Neovim]]** est un éditeur de texte. C'est un //[[wpfr>​Fork_(développement_logiciel)|fork]]// de **[[:Vim]]** qui vise à être plus facile à étendre et à maintenir.
  
 ===== Installation ===== ===== Installation =====
  
-==== Via les dépôts standard ==== +Il existe plusieurs méthodes d'​installation au choix : 
-Neovim est présent ​dans les dépôts ​standard :​\\ +  * **Neovim** est disponible ​dans les [[#dépôts ​officiels APT]] d'​Ubuntu, ​mais il s'agit rarement de la dernière ​version
-<code bash> +  * Il est aussi distribué par ses développeurs au format ​[[#AppImage]]. 
-sudo apt install neovim +  * **[[#Bob]]** est un gestionnaire de versions pour **Neovim**.
-</​code>​ +
-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 ​==== +==== dépôts officiels APT ====
-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]] :   +
-<code bash>​wget https://​github.com/​neovim/​neovim/​releases/​download/​v0.8.3/​nvim-linux64.deb</​code>​+
  
-Si vous avez une ancienne version des dépôts standard, désinstallez-la au préalable avec : +<note>En fonction ​de votre [[:​versions|version]] d'​Ubuntu cette méthode ne permet pas d'​installer une version récente ​de **Neovim**.</​note>​
-<code bash>sudo apt autoremove neovim</​code>​ +
-Si vous êtes sûr de votre basculement vers neovim, vous pouvez supprimer vim : +
-<code bash>​sudo apt remove vim-common</​code>​ +
-ce qui permettra de créer les [[#alias]] de nos commandes usuelles…+
  
-Puis lancer ​l'installation du paquet ​téléchargé +**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]]''​ : 
-<code bash+  sudo apt install neovim 
-sudo apt install ​./nvim-linux64.deb + 
-</​code>​+==== AppImage ==== 
 + 
 +<​note>​Cette méthode ne permet pas de mettre à jour automatiquement **Neovim** !</​note>​ 
 + 
 +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|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. 
 + 
 +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) 
 + 
 +Vous pouvez aussi utiliser un service tel que **[[:​appimage#​go_appimageappimaged|appimaged]]** pour automatiser ces opérations et créer en plus un [[:​raccourci-lanceur|lanceur]] automatiquement. 
 + 
 +==== 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 officiels, mais peut s'​installer au moyen de **Cargo** (le gestionnaire de paquet ​de [[wpfr>​Rust_(langage)|Rust]],​ dépôt [[https://​crates.io/​|crates]]). 
 +<note>​L'​installation de Cargo peut nécessiter jusqu'​à 534 Mo d'​usage de disque !</note
 + 
 +Il faut donc installer **Cargo**, pour installer **Bob**, pour installer **Neovim**... 
 + 
 +  - [[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] ''​[[apt>​cargo]]''​ :<​code>​sudo apt install ​cargo</code> 
 +  ​puis **Bob** depuis **Cargo** :<​code>​cargo install bob-nvim</​code>​ 
 +  - puis **Neovim** depuis **Bob** :<​code>​bob install stable</​code>​
  
 ==== alias et vim/vimdiff avec git ==== ==== 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]] :​\\+Vous voudrez sans doute continuer à appeler votre éditeur préféré via les commandes ​''​vi''​''​vim'' ​et ''​vimdiff'' ​?\\ 
 +Pour cela, définir les [[:​alias]] :​
 <file - .bash_aliases>​ <file - .bash_aliases>​
 alias vi='​nvim'​ alias vi='​nvim'​
 alias vim='​nvim'​ alias vim='​nvim'​
-alias vimdiff='​nvim -d '+alias vimdiff='​nvim -d'
 </​file>​ </​file>​
  
-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]] :+Avec [[:git]], il faut définir l'​éditeur pour les //commits// et/ou les corrections ​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]] :
 <file - .gitconfig>​ <file - .gitconfig>​
 [core] [core]
Ligne 52: Ligne 67:
 </​file>​ </​file>​
  
-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)):+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))
 <code bash> <code bash>
 echo '​export EDITOR=nvim'​ >> ~/.bashrc echo '​export EDITOR=nvim'​ >> ~/.bashrc
 </​code>​ </​code>​
 +
 ===== Configuration ===== ===== 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 avoir des informations sur la configuration,​ on peut exécuter : 
-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)) ​: +  nvim --version 
-<​code>​+qui, pour plus d'​infos,​ invite à saisir : 
 +  nvim -V1 -v 
 +... qui invite elle-même à exécuter, depuis **Neovim**, la commande '':​checkhealth''​ qui retourne beaucoup d'​informations. 
 + 
 +Pour savoir où se trouve le fichier de configuration,​ dans **Neovim**, on peut exécuter la commande '':​help nvim-config'',​ qui va sans doute vous retourner : 
 +  Use $XDG_CONFIG_HOME/​nvim/​init.vim` instead of `.vimrc` for your config 
 + 
 +<note important>​Les fichiers décris ci-dessous n'​existent pas si **[[:​vim]]** n'​avait pas été préalablement installé, auquel cas on peut les créer.\\ 
 +Sous Ubuntu le répertoire de config par défaut est ''​~/​.config''​.((https://​neovim.io/​doc/​user/​starting.html#​base-directories)) 
 +</​note>​ 
 +Le premier fichier de configuration lu par **Neovim** est le fichier ''​~/​.config/​nvim/​init.vim''​. 
 +Par défaut, celui-ci appelle ''​~/​.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)) 
 +<​code ​bash>
 set clipboard+=unnamedplus set clipboard+=unnamedplus
 </​code>​ </​code>​
 +Si la ligne ci-dessus fonctionne sous [[:focal]] ou [[:jammy]], ça ne semble plus fonctionner sous [[:noble]]. Pour cette dernière version((src:​ https://​askubuntu.com/​a/​1555422/​385361)),​ installer <code bash>​sudo apt install xclip</​code>​ et modifier votre fichier de configuration //vimrc// avec :
 +<code bash>
 +let clipboard="​xclip"​
 +</​code>​
 +
 ajout de la ligne d’état (//​statusline//,​ //ruler//), notamment pour avoir le nom du fichier et le numéro de colonne du curseur : ajout de la ligne d’état (//​statusline//,​ //ruler//), notamment pour avoir le nom du fichier et le numéro de colonne du curseur :
-<​code>​+<​code ​bash>
 set statusline=%<​%f\ %h%m%r%=%-14.(%l,​%c%V%)\ %P set statusline=%<​%f\ %h%m%r%=%-14.(%l,​%c%V%)\ %P
 </​code>​ </​code>​
-<note important>​Ces fichiers n'​existent pas si [[:vim]] n'​avait pas été préalablement installéauquel cas il faut les créer !</note>+ 
 +==== Lanceur ==== 
 + 
 +On peut ajouter un [[:raccourci-lanceur|lanceur]] pour pouvoir depuis [[:​nautilus|Fichier]] faire un clic-droit puis //ouvrir avec// … neovim.\\ 
 +Pour celaajouter le fichier suivant dans ''/​usr/​share/​applications''​ : 
 +<file - neovim.desktop>​ 
 +[Desktop Entry] 
 +Name=Neovim 
 +GenericName=Text Editor 
 +GenericName[fr]=Éditeur de texte 
 +Comment=Edit text files 
 +Comment[en_GB]=Edit text files 
 +Comment[fr]=Éditer des fichiers texte 
 +TryExec=nvim 
 +Exec=nvim %F 
 +Terminal=true 
 +Type=Application 
 +Keywords=Text;​editor;​ 
 +Keywords[fr]=Texte;​éditeur;​ 
 +Icon=nvim 
 +Categories=Utility;​TextEditor;​ 
 +StartupNotify=false 
 +MimeType=text/english;​text/​plain;​text/​x-makefile;​text/​x-c++hdr;​text/​x-c++src;​text/​x-chdr;​text/​x-csrc;​text/​x-java;​text/​x-moc;​text/​x-pascal;​text/​x-tcl;​text/​x-tex;​application/​x-shellscript;​text/​x-c;​text/​x-c++;​ 
 +</file> 
 + 
 +==== Répertoires ==== 
 + 
 +Les fichiers de coloration syntaxique se trouvent dans le répertoire ''/​usr/​share/​nvim/​runtime/​syntax''​.
  
 ===== Fonctionnalités ===== ===== Fonctionnalités =====
 +
 ==== Correcteur orthographique ==== ==== Correcteur orthographique ====
-cf. [[vim#​correcteur_s_orthographique_s|Vim correcteur orthographique]] qui fonctionne aussi dans neovim.+ 
 +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]]...//​ 
  • neovim.1710667335.txt.gz
  • Dernière modification: Le 17/03/2024, 10:22
  • par bcag2