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 | |||
|
neovim [Le 08/09/2025, 14:08] bcag2 ajout § [Lanceur] |
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 ==== | ||
| 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'à 534Mo d'usage de disque !</note> | + | <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 59: | 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 67: | 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 73: | ||
| ===== Configuration ===== | ===== Configuration ===== | ||
| + | |||
| Pour avoir des informations sur la configuration, on peut exécuter : | Pour avoir des informations sur la configuration, on peut exécuter : | ||
| - | <code bash> | + | nvim --version |
| - | nvim --version | + | qui, pour plus d'infos, invite à saisir : |
| - | # qui, pour plus d'infos, invite à saisir | + | nvim -V1 -v |
| - | nvim -V1 -v | + | ... qui invite elle-même à exécuter, depuis **Neovim**, la commande '':checkhealth'' qui retourne beaucoup d'informations. |
| - | # retourne entre autre | + | |
| - | system vimrc file: "$VIM/sysinit.vim" # $VIM n'est pas défini par défaut sous Ubuntu ! | + | |
| - | fall-back for $VIM: "/usr/local/share/nvim" # le sous-répertoire nvim n'existe pas par défaut sous Ubuntu ! | + | |
| - | # et qui invite, une fois dans nvim, à exécuter | + | |
| - | :checkhealth | + | |
| - | </code> | + | |
| - | Cette dernière commande retourne effectivement beaucoup d'informations | + | |
| - | Pour savoir où se trouve le fichier de configuration, dans **Neovim**, on peut exécuter : | + | 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 : |
| - | <code>:help nvim-config | + | Use $XDG_CONFIG_HOME/nvim/init.vim` instead of `.vimrc` for your 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.\\ |
| - | </code> | + | Sous Ubuntu le répertoire de config par défaut est ''~/.config''.((https://neovim.io/doc/user/starting.html#base-directories)) |
| - | <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)) | + | |
| </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'',\\ | ||
| Ligne 114: | Ligne 106: | ||
| ==== Lanceur ==== | ==== Lanceur ==== | ||
| + | |||
| On peut ajouter un [[:raccourci-lanceur|lanceur]] pour pouvoir depuis [[:nautilus|Fichier]] faire un clic-droit puis //ouvrir avec// … neovim.\\ | 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// | + | Pour cela, ajouter le fichier suivant dans ''/usr/share/applications'' : |
| <file - neovim.desktop> | <file - neovim.desktop> | ||
| [Desktop Entry] | [Desktop Entry] | ||
| Ligne 135: | Ligne 128: | ||
| 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++; | 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> | </file> | ||
| + | |||
| ==== Répertoires ==== | ==== Répertoires ==== | ||