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édentesRévision précédente
Prochaine révision
Révision précédente
neovim [Le 27/05/2025, 19:30] – suppr doc vim (?) / réécriture installation / plus de deb isolé / +appimage / +bob / mise en forme krodelabestioleneovim [Le 24/06/2026, 15:27] (Version actuelle) – contrib… bcag2
Ligne 1: Ligne 1:
 {{tag>éditeur_de_texte console programmation IDE}} {{tag>éditeur_de_texte console programmation IDE}}
  
- +{{ https://raw.githubusercontent.com/neovim/neovim/refs/heads/master/cmake.packaging/neovim.png?90|Icône de Neovim}}
-{{ :application:neovim:neovim_logo_2x.png| logo de neovim}}+
 ====== 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.+**[[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.\\  
 +On peut lui adjoindre des extensions pour en faire un [[:IDE]] puissant et personnalisé.
  
 ===== Installation ===== ===== Installation =====
  
-Il existe plusieurs méthodes pour d'installation au choix :+Il existe plusieurs méthodes 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.   * **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 est aussi distribué par ses développeurs au format [[#AppImage]].
-  * Il existe **[[#Bob]]**un gestionnaire de versions pour **Neovim**.+  * **[[#Bob]]** est un gestionnaire de versions pour **Neovim**.
  
 ==== dépôts officiels APT ==== ==== dépôts officiels APT ====
  
-<note>En version de votre [[:versions|version]] d'Ubuntu cette méthode ne permet pas d'installer une version récente de **Neovim**.</note>+<note>En fonction de votre [[:versions|version]] d'Ubuntu cette méthode ne permet pas d'installer une version récente de **Neovim**.</note>
  
-**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]]'' :+**Neovim** est présent dans les [[:dépôts|dépôts Ubuntu]] ([[:deb]]). On peut donc simplement [[:deb#installer_un_paquet_deb|installer le paquet]] ''[[apt>neovim]]'' :
   sudo apt install neovim   sudo apt install neovim
  
Ligne 27: Ligne 27:
 Pour installer une **[[:AppImage]]** référez-vous avant tout au [[:appimage#installer_un_appimage|chapitre dédié]] au sujet. 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.\\  +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.
-Vous pouvez utiliser un service tel que **[[:appimage#go_appimageappimaged|appimaged]]** pour créer automatiquement un [[:raccourci-lanceur|lanceur]].+
  
 Ou en ligne de commande : Ou en ligne de commande :
   wget https://github.com/neovim/neovim/releases/download/nightly/nvim-linux-x86_64.appimage   wget https://github.com/neovim/neovim/releases/download/nightly/nvim-linux-x86_64.appimage
   chmod +x nvim-linux-x86_64.appimage   chmod +x nvim-linux-x86_64.appimage
-  mv nvim-linux-x86_64.appimage .local/bin/nvim +  mv nvim-linux-x86_64.appimage ~/Applications 
-(puis éventuellement relancer le terminal)+(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 ==== ==== Bob ====
Ligne 40: Ligne 41:
 **[[https://github.com/MordechaiHadad/bob|Bob]]** est un gestionnaire de versions pour **Neovim**. **[[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 n'est malheureusement pas disponible dans les [[:depot|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>**Cargo** peut utiliser jusqu'à 534 Mo d'espace de stockage !</note>
  
-Il faut donc installer **cargo**, pour installer **Bob**, pour installer **Neovim**...+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> +  - [[:deb#installer_un_paquet_deb|installer le paquet]] ''[[apt>cargo]]'' :<code>sudo apt install cargo</code> 
-  - puis **Bob** depuis **cargo** :<code>cargo install bob-nvim</code>+  - puis **Bob** depuis **Cargo** :<code>cargo install bob-nvim</code>
   - puis **Neovim** depuis **Bob** :<code>bob install stable</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//?\\ +Vous voudrez sans doute continuer à appeler votre éditeur préféré via les commandes ''vi''''vim'' et ''vimdiff'' ?\\ 
-Pour cela, définir les [[:alias]] :\\+Pour cela, définir les [[:alias]] :
 <file - .bash_aliases> <file - .bash_aliases>
 alias vi='nvim' alias vi='nvim'
Ligne 58: Ligne 60:
 </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 66: Ligne 68:
 </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
Ligne 73: Ligne 75:
 ===== Configuration ===== ===== Configuration =====
  
-Pour savoir où se trouve le fichier de configuration, dans **Neovim**, on peut exécuter +Pour avoir des informations sur la configuration, on peut exécuter : 
-<code>:help nvim-config +  nvim --version 
-qui va sans doute vous retourner : +qui, pour plus d'infos, invite à saisir : 
-Use $XDG_CONFIG_HOME/nvim/init.vim` instead of `.vimrc` for your |config +  nvim -V1 -v 
-</code> +... qui invite elle-même à exécuter, depuis **Neovim**, la commande '':checkhealth'' qui retourne beaucoup d'informations. 
-<note important>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))+Pour savoir où se trouve le fichier de configuration, dans **Neovim**, on peut exécuter la commande '':help nvim-config'', qui va sans doute retourner : 
 +  Use $XDG_CONFIG_HOME/nvim/init.vim` instead of `.vimrc` for your config 
 + 
 +<note important> 
 +Les fichiers décrits ci-dessous n'existent pas si **[[:Vim]]** n'avait pas été préalablement installé, auquel cas on peut les créer. 
 + 
 +Sous Ubuntu le [[:arborescence#stockage_des_configurations|répertoire de configuration]] par défaut est ''~/.config''.((https://neovim.io/doc/user/starting.html#base-directories))
 </note> </note>
-Le premier fichier de configuration lu par **Neovim** est le fichier ''~/.config/nvim/init.vim'' + 
-Par défaut, celui-ci //source// ''~/.vimrc'' +Le premier fichier de configuration lu par **Neovim** est le fichier ''~/.config/nvim/init.vim'' (ou ''~/.config/nvim/init.lua'').\\ 
-on peut remplacer comme source ''~/.vim/vimrc''+Par défaut, celui-ci appelle ''~/.vimrc''. Pour récupérer sa configuration de **[[:Vim]]**, voir la [[https://neovim.io/doc/user/nvim/#_transitioning-from-vim|documentation officielle]].
  
 Dans ''~/.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)) 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>+<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 version,((source : [[https://askubuntu.com/a/1555422/385361]])) [[:deb#installer_un_paquet_deb|installer]] ''[[apt>xclip]]'' et modifier le 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>
 +
 +==== Lanceur ====
 +
 +On peut ajouter un [[:raccourci-lanceur|lanceur]] pour pouvoir depuis [[:nautilus|Fichier]] faire un clic-droit puis //ouvrir avec// … neovim.\\
 +Pour cela, ajouter 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 ==== ==== Répertoires ====
Ligne 104: Ligne 141:
  
 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**.
 +
 +==== Language Server Protocol (LSP) ====
 +Neovim dispose d’un client LSP qui peut donc profiter des fonctionnalités associés à un/des serveur(s) LSP.
 +
 +FIXME comment installer un server LSP, ref : https://neovim.io/doc/user/lsp.html
 +
 +Pour installer //nvim-lspconfig// qui doit faciliter la configuration de neovim :\\ 
 +Se reporter au § https://github.com/neovim/nvim-lspconfig?tab=readme-ov-file#quickstart
  
 ===== Voir aussi ===== ===== Voir aussi =====
Ligne 113: Ligne 158:
 ---- ----
  
-//Contributeurs : [[:utilisateurs:krodelabestiole]]...//+//Contributeurs : [[:utilisateurs:bcag2]], [[:utilisateurs:krodelabestiole]]...//