Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
neovim [Le 27/05/2025, 19:30] krodelabestiole suppr doc vim (?) / réécriture installation / plus de deb isolé / +appimage / +bob / mise en forme |
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 ====== | ||
- | **[[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. |
===== 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 [[:tutoriel:comment_installer_un_paquet|installer le paquet]] ''[[apt>neovim]]'' : | ||
Ligne 27: | Ligne 26: | ||
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 : | ||
Ligne 35: | Ligne 33: | ||
mv nvim-linux-x86_64.appimage .local/bin/nvim | mv nvim-linux-x86_64.appimage .local/bin/nvim | ||
(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 40: | ||
**[[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 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**... | + | 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> | - [[: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 **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 59: | ||
</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 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 | ||
Ligne 73: | Ligne 74: | ||
===== 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 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> | </note> | ||
- | Le premier fichier de configuration lu par **Neovim** est le fichier ''~/.config/nvim/init.vim'' | + | Le premier fichier de configuration lu par **Neovim** est le fichier ''~/.config/nvim/init.vim''. |
- | Par défaut, celui-ci //source// ''~/.vimrc'' | + | Par défaut, celui-ci appelle ''~/.vimrc''. |
- | on peut remplacer comme source ''~/.vim/vimrc'' | + | On peut remplacer comme source ''~/.vim/vimrc''. |
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 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> | ||
+ | |||
+ | ==== 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 ==== |