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
vim [Le 07/06/2024, 14:58]
Primaliax [Principe de base]
vim [Le 12/03/2025, 10:09] (Version actuelle)
bcag2 [Thème de coloration syntaxique] log, .env
Ligne 11: Ligne 11:
 orphelins d'​Ouganda (voyez : ":help uganda"​).</​note>​ orphelins d'​Ouganda (voyez : ":help uganda"​).</​note>​
  
 +Pour que //vim// soit l’éditeur par défaut pour l’éditions de tout fichier de configuration,​ il est intéressant d'​exécuter :​
 +<code bash>
 +select-editor ​
 +
 +Select an editor. ​ To change later, run '​select-editor'​.
 +  1. /​bin/​nano ​       <---- easiest
 +  2. /​usr/​bin/​vim.basic
 +  3. /​usr/​bin/​vim.tiny
 +  4. /bin/ed
 +
 +# ON CHOISIT vim.basic, donc le choix 2…
 +Choose 1-4 [1]: 2
 +</​code>​
 +et de le faire avec //sudo// pour que ce soit aussi le cas quand on éditer des fichiers système, par exemple quand on fait un //sudo crontab -e// ((cf. [[:​cron|CRON]] pour plus d'​infos)
  
 ===== Installation ====== ===== Installation ======
Ligne 17: Ligne 31:
 Commencez par [[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] **[[apt>​vim|vim]]** ou **[[apt>​vim-gnome|vim-gnome]]**. Cette version //​vim-gnome//​ a l'​avantage de disposer des options pour utiliser le presse-papier (( reportez-vous à l'​article [[https://​vim-fr.org/​index.php/​Les_presse-papiers]] pour plus de détails sur les presse-papiers de vim))\\ Commencez par [[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] **[[apt>​vim|vim]]** ou **[[apt>​vim-gnome|vim-gnome]]**. Cette version //​vim-gnome//​ a l'​avantage de disposer des options pour utiliser le presse-papier (( reportez-vous à l'​article [[https://​vim-fr.org/​index.php/​Les_presse-papiers]] pour plus de détails sur les presse-papiers de vim))\\
 Si vous souhaitez ​ une interface graphique pour utiliser Vim, reportez-vous à la page **[[:​gvim]]**. Si vous souhaitez ​ une interface graphique pour utiliser Vim, reportez-vous à la page **[[:​gvim]]**.
 +<​note>//​vim-gnome//​ n'est plus disponible dans les dépôts standard à partir de [[:Jammy]], une alternative peut être [[:neovim]] </​note>​
 ===== Utilisation ====== ===== Utilisation ======
  
Ligne 105: Ligne 120:
 Vous pouvez comparer le contenu de deux fichiers en lançant : Vous pouvez comparer le contenu de deux fichiers en lançant :
 <​code>​vimdiff fichier1 fichier2</​code>​ <​code>​vimdiff fichier1 fichier2</​code>​
-vimdiff peut-être remplacé par vim -d\\+vimdiff peut être remplacé par vim -d\\
 Si vous êtes déjà dans vim en édition sur le fichier1: Si vous êtes déjà dans vim en édition sur le fichier1:
 <​code>:​vert diffsplit fichier2</​code>​ <​code>:​vert diffsplit fichier2</​code>​
Ligne 120: Ligne 135:
 comme pour les autres utilisations (recherche, remplace...),​ vous pouvez remplacer % par un n° de ligne ou un intervalle comme pour les autres utilisations (recherche, remplace...),​ vous pouvez remplacer % par un n° de ligne ou un intervalle
  
-!! Attention ​bien éditer et sauvegarder en mode binaire sinon vous risquez de corrompre le fichier avec des auto tab et des conversion ​de retour ​la ligne. vim -b pour lancer en mode binaire, ou :set binary pour activer le mode une fois vim lancé.+!! Attention ​à bien éditer et sauvegarder en mode binaire sinon vous risquez de corrompre le fichier avec des auto tab et des conversions ​de retour ​à la ligne. vim -b pour lancer en mode binaire, ou :set binary pour activer le mode une fois vim lancé.
  
 ==== Correcteur(s) orthographique(s) ==== ==== Correcteur(s) orthographique(s) ====
-Si vim est devenu votre éditeur quotidien et que vous y rédigez vos textes en markdown par exemple ou des pages html…, il peut-être utiles ​(indispensable !-) de faire appel à un correcteur orthographique.\\+Si vim est devenu votre éditeur quotidien et que vous y rédigez vos textes en markdown par exemple ou des pages html…, il peut être utile (indispensable !-) de faire appel à un correcteur orthographique.\\
 Pour cela : Pour cela :
 <​code>​ <​code>​
 # pour l'​activer : # pour l'​activer :
 :set spell :set spell
 +# pour le désactiver :
 +:set nospell
 # qui va sans doute surligner beaucoup de mot… car la correction est évidemment par défaut en anglais, # qui va sans doute surligner beaucoup de mot… car la correction est évidemment par défaut en anglais,
 # pour passer en français : # pour passer en français :
Ligne 153: Ligne 170:
 Il est possible d'​enregistrer des macros associées à une lettre.\\ Il est possible d'​enregistrer des macros associées à une lettre.\\
 Pour démarrer l'​enregistrement de la macro, on tape **qx** pour enregistrer la macro dans un registre **x**\\ Pour démarrer l'​enregistrement de la macro, on tape **qx** pour enregistrer la macro dans un registre **x**\\
-On saisi ensuite la(les) commande(s) à enregistrer,​ par exemple un rechercher/​remplacer qu'on veut exécuter dans plusieurs fichiers (action qu'on peut aussi faire avec la commande //sed// en [[CLI]])\\ +On saisit ​ensuite la(les) commande(s) à enregistrer,​ par exemple un rechercher/​remplacer qu'on veut exécuter dans plusieurs fichiers (action qu'on peut aussi faire avec la commande //sed// en [[CLI]])\\ 
-On fini l'​enregistrement en tapant **q**\\+On finit l'​enregistrement en tapant **q**\\
 Pour lancer une macro, il suffit de taper le caractère //@// suivi de la lettre correspondant au registre, //x// dans notre exemple : **@x**\\ Pour lancer une macro, il suffit de taper le caractère //@// suivi de la lettre correspondant au registre, //x// dans notre exemple : **@x**\\
 source ((https://​vim.fandom.com/​wiki/​Recording_keys_for_repeated_jobs)) source ((https://​vim.fandom.com/​wiki/​Recording_keys_for_repeated_jobs))
  
-Si vous ne l'​utilisez pas et que ça vous gène, vous pouvez désactiver le raccourci dans votre vimrc en y ajoutant ((https://​stackoverflow.com/​a/​28501574/​6614155)) :+Si vous ne l'​utilisez pas et que ça vous gêne, vous pouvez désactiver le raccourci dans votre vimrc en y ajoutant ((https://​stackoverflow.com/​a/​28501574/​6614155)) :
 <​code>​map q <​Nop></​code>​ <​code>​map q <​Nop></​code>​
  
 ===== Configuration ===== ===== Configuration =====
  
-Pour modifier le comportement de vim, il faut agir sur son fichier de configuration (chaque utilisateur peut avoir le sien). Pour cela [[:​tutoriel:​comment_editer_un_fichier|créez ou éditez le fichier]] **~/​.vimrc** (le fichier vimrc global peut se trouver dans /​usr/​share/​vim/​vimrc ).+Pour modifier le comportement de vim, il faut agir sur son fichier de configuration (chaque utilisateur peut avoir le sien, //root// aussi).\\ 
 +Pour cela [[:​tutoriel:​comment_editer_un_fichier|créez ou éditez le fichier]] **~/​.vimrc** (le fichier vimrc global peut se trouver dans /​usr/​share/​vim/​vimrc ).
  
 <note tip>​S'​il n'​existe pas de fichier .vimrc dans le dossier de l'​utilisateur,​ vim se lance en « compatibilité » avec vi. C'​est-à-dire qu'il va charger les options par défaut de vi, et non pas celles de vim. La simple existence de ce fichier suffit normalement à charger les options par défaut de vim, mais, par précaution,​ forcez la désactivation de cette compatibilité (en tout début de fichier, car ça change les options).</​note>​ <note tip>​S'​il n'​existe pas de fichier .vimrc dans le dossier de l'​utilisateur,​ vim se lance en « compatibilité » avec vi. C'​est-à-dire qu'il va charger les options par défaut de vi, et non pas celles de vim. La simple existence de ce fichier suffit normalement à charger les options par défaut de vim, mais, par précaution,​ forcez la désactivation de cette compatibilité (en tout début de fichier, car ça change les options).</​note>​
Ligne 170: Ligne 188:
 ^ Paramètre ^ Action ^ ^ Paramètre ^ Action ^
 | <​code>​set nocompatible</​code>​ | Désactive la compatibilité avec vi | | <​code>​set nocompatible</​code>​ | Désactive la compatibilité avec vi |
-| <​code>​set background=dark </​code>​ | adapte ​les couleurs pour un fond noir |+| <​code>​set background=dark </​code>​ | Adapte ​les couleurs pour un fond noir |
 | <​code>​syntax on</​code>​ | Active la coloration syntaxique | | <​code>​syntax on</​code>​ | Active la coloration syntaxique |
 | <​code>​set number</​code>​ | Affiche les numéros de lignes | | <​code>​set number</​code>​ | Affiche les numéros de lignes |
Ligne 178: Ligne 196:
 | <​code>​set smartindent</​code>​ | Indentation "​intelligents"​ | | <​code>​set smartindent</​code>​ | Indentation "​intelligents"​ |
 | <​code>​set autoindent</​code>​ | Conserve l'​indentation courante sur les nouvelles lignes | | <​code>​set autoindent</​code>​ | Conserve l'​indentation courante sur les nouvelles lignes |
-| <​code>​set backspace=indent,​eol,​start</​code>​ | retours ​arrières intelligents |+| <​code>​set backspace=indent,​eol,​start</​code>​ | Retours ​arrières intelligents |
 | <​code>​set shiftround</​code>​ | Indentation à la marque de Tab la plus proche | | <​code>​set shiftround</​code>​ | Indentation à la marque de Tab la plus proche |
 | <​code>​set ignorecase</​code>​ | Ignore la casse lors de recherche | | <​code>​set ignorecase</​code>​ | Ignore la casse lors de recherche |
-| <​code>​set showmode</​code>​ | affiche ​le mode d'​édition | +| <​code>​set showmode</​code>​ | Affiche ​le mode d'​édition | 
-| <​code>​set ruler</​code>​ | affiche ​la position du curseur | +| <​code>​set ruler</​code>​ | Affiche ​la position du curseur | 
-| <​code>​set showcmd</​code>​ | affiche ​les commandes incomplète | +| <​code>​set showcmd</​code>​ | Affiche ​les commandes incomplète | 
-|<​code>​map <C-m> :​resize<​CR>​ </​code>​| Ctrl-m ​maximize ​la fenetre courrante ​(:help map)| +|<​code>​map <C-m> :​resize<​CR>​ </​code>​| Ctrl-m ​Agrandit ​la fenêtre courante ​(:help map)| 
-|<​code>​map <C-b> :​bNext<​CR></​code>​| Ctrl-b ​aller au tampon suivant (:help map)|+|<​code>​map <C-b> :​bNext<​CR></​code>​| Ctrl-b ​Va au tampon suivant (:help map)|
  
 Si vim ne se souvient pas de la position précédente du curseur lorsque vous réouvrez un fichier, il faut ajouter la ligne suivante dans le fichier ~/.vimrc: Si vim ne se souvient pas de la position précédente du curseur lorsque vous réouvrez un fichier, il faut ajouter la ligne suivante dans le fichier ~/.vimrc:
Ligne 196: Ligne 214:
 Un fichier exemple est disponible également **/​usr/​share/​vim/​vimcurrent/​vimrc_example.vim** Un fichier exemple est disponible également **/​usr/​share/​vim/​vimcurrent/​vimrc_example.vim**
  
-<​note>​ Si vous avez l'​erreur "​Sorry,​ the command is not available in this version: syntax on", vous utilisez ​surement ​vim-tiny et non vim "​complet"​. Pour y remédier, [[:​tutoriel:​comment_supprimer_un_paquet| supprimez le paquet]] **vim-tiny** et [[:​tutoriel:​comment_installer_un_paquet|ré-installez le paquet]] **vim**+<​note>​ Si vous avez l'​erreur "​Sorry,​ the command is not available in this version: syntax on", vous utilisez ​sûrement ​vim-tiny et non vim "​complet"​. Pour y remédier, [[:​tutoriel:​comment_supprimer_un_paquet| supprimez le paquet]] **vim-tiny** et [[:​tutoriel:​comment_installer_un_paquet|ré-installez le paquet]] **vim**
  
 Vous pouvez aussi utiliser la commande suivante et choisir vim.gnome : <​code>​sudo update-alternatives --config vim</​code>​ Vous pouvez aussi utiliser la commande suivante et choisir vim.gnome : <​code>​sudo update-alternatives --config vim</​code>​
 </​note>​ </​note>​
  
-==== Vim supporte les souris ====+==== Support des souris ====
  
 Le service **gpm**((**gpm** : General Purpose Mouse interface https://​www.nico.schottelius.org/​software/​gpm/​)) permet l'​utilisation de la souris dans le terminal pour sélectionner,​ copier et coller. Vérifiez que le paquet [[apt://​gpm|gpm]] est [[:​tutoriel:​comment_installer_un_paquet|installé]] et [[:​tutoriel:​comment_modifier_un_fichier|modifiez votre fichier]] ​ ~/.vimrc comme expliqué plus haut pour y insérer : Le service **gpm**((**gpm** : General Purpose Mouse interface https://​www.nico.schottelius.org/​software/​gpm/​)) permet l'​utilisation de la souris dans le terminal pour sélectionner,​ copier et coller. Vérifiez que le paquet [[apt://​gpm|gpm]] est [[:​tutoriel:​comment_installer_un_paquet|installé]] et [[:​tutoriel:​comment_modifier_un_fichier|modifiez votre fichier]] ​ ~/.vimrc comme expliqué plus haut pour y insérer :
Ligne 224: Ligne 242:
  
 === Indiquer (forcer) la coloration syntaxique === === Indiquer (forcer) la coloration syntaxique ===
-Il peut-être pratique de pouvoir indiquer la coloration syntaxique, en particulier lorsqu'​on édite des fichiers sans extension (ou non représentative du type de fichier), ​par exemple lire le fichier ///​var/​log/​syslog.1//​\\ +Il peut-être pratique de pouvoir indiquer la coloration syntaxique, en particulier lorsqu'​on édite des fichiers sans extension (ou non représentative du type de fichier), ​pour cela, il faut saisir dans vim :
-Pour cela, il faut saisir dans vim :+
 <code bash># :set syntax=<​type de syntaxe> <code bash># :set syntax=<​type de syntaxe>
 +# par exemple pour avoir la coloration pour le fichier /​var/​log/​syslog.1 (en cours d'​édition) :
 :set syntax=messages :set syntax=messages
 +# pour un fichier .env.local ou similaire :​
 +:set syntax=sh
 </​code>​ </​code>​
 ((src : https://​stackoverflow.com/​a/​3853036/​6614155))\\ ((src : https://​stackoverflow.com/​a/​3853036/​6614155))\\
  • vim.1717765126.txt.gz
  • Dernière modification: Le 07/06/2024, 14:58
  • par Primaliax