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/03/2024, 09:25] bcag2 ajout § [Répertoires] |
neovim [Le 27/05/2025, 19:30] (Version actuelle) krodelabestiole suppr doc vim (?) / réécriture installation / plus de deb isolé / +appimage / +bob / mise en forme |
||
---|---|---|---|
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]]** dont l'objectif est d'être plus facile à étendre et à maintenir. |
===== Installation ===== | ===== Installation ===== | ||
- | ==== Via les dépôts standard ==== | + | Il existe plusieurs méthodes pour 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 | + | * Il existe **[[#Bob]]**, 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 version 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]] 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]]'' :<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//?\\ | 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]] :\\ | ||
Ligne 41: | Ligne 55: | ||
alias vi='nvim' | alias vi='nvim' | ||
alias vim='nvim' | alias vim='nvim' | ||
- | alias vimdiff='nvim -d ' | + | alias vimdiff='nvim -d' |
</file> | </file> | ||
Ligne 56: | Ligne 70: | ||
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 savoir où se trouve le fichier de configuration, dans **Neovim**, 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)) : | + | <code>:help nvim-config |
+ | # qui va sans doute vous retourner : | ||
+ | Use $XDG_CONFIG_HOME/nvim/init.vim` instead of `.vimrc` for your |config | ||
+ | </code> | ||
+ | <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> | ||
+ | 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)) | ||
<code> | <code> | ||
set clipboard+=unnamedplus | set clipboard+=unnamedplus | ||
Ligne 70: | Ligne 94: | ||
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> | ||
==== Répertoires ==== | ==== Répertoires ==== | ||
- | Les fichiers de coloration syntaxique se trouvent dans le répertoire **/usr/share/nvim/runtime/syntax** | + | |
+ | 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]]...// |