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 27/11/2013, 10:26]
213.245.236.42 [Configuration]
vim [Le 27/03/2024, 09:25] (Version actuelle)
bcag2 ajout § [Indiquer (forcer) la coloration syntaxique]
Ligne 1: Ligne 1:
-{{tag>​éditeur_de_texte console programmation IDE gvim}}+{{tag>​éditeur_de_texte console programmation IDE}}
  
 ---- ----
Ligne 15: Ligne 15:
 Par défaut, votre système a une version basique de vim, procurée par le paquet **vim-tiny**,​ mais n'​offrant pas toutes les possibilités de cet éditeur. Par défaut, votre système a une version basique de vim, procurée par le paquet **vim-tiny**,​ mais n'​offrant pas toutes les possibilités de cet éditeur.
  
-Commencez par [[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] **[[apt>​vim|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]]**.
- 
 ===== Utilisation ====== ===== Utilisation ======
  
- 
- 
- 
- 
- 
-==== Mettre en français la doc vim ==== 
- 
- 
- 
-Sur Ubuntu 12.04. Tout d'​abord,​ télécharger la traduction de la doc de vim sur le site : http://​cfennajoui.net/​vim/​ //​(miroir)//​ 
- 
-Ensuite, dans un terminal root, sauvegarder la doc vim actuelle (en anglais) dans un répertoire à créer /​usr/​share/​vim/​vimcurrent/​old_vim_doc/​doc/​ (mieux vaut être prudent…) 
- 
-Puis recopier le contenu décompressé de archive_traduit.tar.gz (de Téléchargements) dans /​usr/​share/​vim/​vimcurrent/​doc/​ 
- 
-Vérifier en ouvrant un fichier d'​essai avec vim que l'aide est bien en français. Tout va bien ! 
  
  
Ligne 47: Ligne 30:
 (ou pour la version graphique, lancez l'​application **gvimtutor** avec la combinaison de touches **ALT + F2** ou dans le terminal) (ou pour la version graphique, lancez l'​application **gvimtutor** avec la combinaison de touches **ALT + F2** ou dans le terminal)
  
-Vim dispose aussi d'un tutoriel francophone non-officiel en ligne : [[http://​vim-fr.org/​]] 
  
-Si vimtutor s'​avère être vide, c'est que seule une version minimale de Vim est installée. C'est le cas par défaut sur certaines versions d'​Ubuntu. Afin d'​installer la version complète : **[[apt>​vim]]** ou ''​sudo apt-get install vim''​ 
 ==== Principe de base ==== ==== Principe de base ====
  
Ligne 58: Ligne 39:
  
 Le fichier s'​affiche. Vous êtes dans le **mode commande**((**éditeur modal**: possède différents modes de fonctionnement **commande**,​ **insertion**)),​ c'est à dire que vous pouvez déplacer le curseur comme vous le souhaitez avec les touches h,j,k,l ou avec les flèches ←↓↑→ et entrer des commandes pour agir sur le texte. Si vous tapez un nombre avant une commande, elle se répétera d'​autant. Le fichier s'​affiche. Vous êtes dans le **mode commande**((**éditeur modal**: possède différents modes de fonctionnement **commande**,​ **insertion**)),​ c'est à dire que vous pouvez déplacer le curseur comme vous le souhaitez avec les touches h,j,k,l ou avec les flèches ←↓↑→ et entrer des commandes pour agir sur le texte. Si vous tapez un nombre avant une commande, elle se répétera d'​autant.
- 
  
 Pour accéder au **mode insertion**((**éditeur modal**: possède différents modes de fonctionnement **commande**,​ **insertion**)) afin de modifier ou d'​insérer du texte, il suffit d'​appuyer sur « **i** » dans le mode commande. Appuyer sur la touche « **Échap** » pour en sortir et repasser en mode commande. Pour accéder au **mode insertion**((**éditeur modal**: possède différents modes de fonctionnement **commande**,​ **insertion**)) afin de modifier ou d'​insérer du texte, il suffit d'​appuyer sur « **i** » dans le mode commande. Appuyer sur la touche « **Échap** » pour en sortir et repasser en mode commande.
Ligne 103: Ligne 83:
  
 ^  Exemples ​ ^ Action ​ ^ ^  Exemples ​ ^ Action ​ ^
-|  **<​control-w>​-v**  | Diviser horizontalement | +|  **<​control-w>​-s**  | Diviser horizontalement | 
-|  **<​control-w>​-s**  | Diviser verticalement |+|  **<​control-w>​-v**  | Diviser verticalement |
 |  **<​control-w>​-w** ​ | Passer à la fenêtre suivante | |  **<​control-w>​-w** ​ | Passer à la fenêtre suivante |
 |  **<​control-w>​-n** ​ | Ouvrir un fichier vierge dans une nouvelle fenêtre | |  **<​control-w>​-n** ​ | Ouvrir un fichier vierge dans une nouvelle fenêtre |
 +| **: tabnew //​nom_fichier//​ ** | Ouvrir le fichier //​nom_fichier//​ dans un onglet |
 |  **<​control-w>​-q** ​ | Fermer la fenêtre | |  **<​control-w>​-q** ​ | Fermer la fenêtre |
  
Ligne 120: Ligne 101:
   * de trouver les fichiers incluant le header file indiqué sous le curseur   * de trouver les fichiers incluant le header file indiqué sous le curseur
    
 +==== Comparaison de fichiers ====
 +
 +Vous pouvez comparer le contenu de deux fichiers en lançant :
 +<​code>​vimdiff fichier1 fichier2</​code>​
 +vimdiff peut-être remplacé par vim -d\\
 +Si vous êtes déjà dans vim en édition sur le fichier1:
 +<​code>:​vert diffsplit fichier2</​code>​
 +si vous ne spécifiez pas //vert//, le "​split"​ sera horizontal (beaucoup moins pratique).\\
 +Ajoutez
 +<​code>​set diffopt=vertical</​code> ​
 +dans votre fichier //vimrc// pour que ce soit par défaut.
 +
 +==== Édition hexadécimale ====
 +
 +vim peut servir d'​[[wpfr>​éditeur hexadécimal]] (voir aussi hexedit) : après avoir ouvert votre fichier en mode binaire (vim -b), tapez 
 +<​code>:​%!xxd</​code>​
 +pour revenir en édition normale <​code>:​%!xxd -r</​code>​
 +comme pour les autres utilisations (recherche, remplace...),​ vous pouvez remplacer % par un n° de ligne ou un intervalle
 +
 +!! Attention a bien éditer et sauvegarder en mode binaire sinon vous risquez de corrompre le fichier avec des auto tab et des conversion de retour a la ligne. vim -b pour lancer en mode binaire, ou :set binary pour activer le mode une fois vim lancé.
 +
 +==== 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.\\
 +Pour cela :
 +<​code>​
 +# pour l'​activer :
 +:set spell
 +# qui va sans doute surligner beaucoup de mot… car la correction est évidemment par défaut en anglais,
 +# pour passer en français :
 +:setlocal spell spelllang=fr
 +# le dictionnaire français n'​étant pas chargé par défaut, vim va vous proposer de le charger, répondre (Y) pour lancer le télé-chargement
 +</​code>​
 +^ Commande ^ Description ^
 +| z=       | sur un mot souligné affiche une liste de corrections possibles |
 +| zg       | rajoute un mot dans le dictionnaire |
 +| zug      | pour annuler l’ajout au dictionnaire |
 +| ]s       | pour aller au prochain mot mal orthographié |
 +| [s       | pour le précédent |
 +source et compléments :​ [[https://​www.saintcarre.fr/​saintcarre/​2018/​08/​correcteur-orthographe-vim.html|le blog de St-Carré]]
 +
 +
 +
 +
 +==== Terminal ====
 +Avec la version 8.1, il est possible d'​ouvrir une fenêtre //​terminal//​
 +<​code>​ :​terminal</​code>​ (le mot abrégé //term// convient), si vous préférez en vertical :​ <​code>:​vert term</​code>​
 +
 +Pour sortir: <​code>​ <​Ctrl-D>​ </​code>​ ou <​code>​ «exit» </​code>​
 +
 +==== Macro ====
 +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**\\
 +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 fini 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**\\
 +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)) :
 +<​code>​map q <​Nop></​code>​
  
 ===== Configuration ===== ===== Configuration =====
Ligne 130: Ligne 170:
 ^ 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>​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 138: Ligne 179:
 | <​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 |
Ligne 157: Ligne 198:
 <​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 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**
  
-Vous pouvez ​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 ==== ==== Vim supporte les souris ====
  
-Le service **gpm**((**gpm** : General Purpose Mouse interface ​http://​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 :
 <​code>​set mouse=a</​code>​ <​code>​set mouse=a</​code>​
  
 ====Thème de coloration syntaxique==== ====Thème de coloration syntaxique====
 Placez le thème dans ~/​.vim/​colors et activez le thème dans le .vimrc avec la ligne : Placez le thème dans ~/​.vim/​colors et activez le thème dans le .vimrc avec la ligne :
-<​code>​+<​code ​bash>
 colorscheme nom_du_theme colorscheme nom_du_theme
 </​code>​ </​code>​
 Si vous utilisez vim dans un terminal, il est possible que votre thème ne soit pas utilisé, et qu'il n'y ait pas de coloration syntaxique. Il faut donc forcer les couleurs en ajoutant dans le .vimrc la ligne suivante : Si vous utilisez vim dans un terminal, il est possible que votre thème ne soit pas utilisé, et qu'il n'y ait pas de coloration syntaxique. Il faut donc forcer les couleurs en ajoutant dans le .vimrc la ligne suivante :
-<​code>​+<​code ​bash>
 set t_Co=256 set t_Co=256
 </​code>​ </​code>​
 Si votre terminal ne supporte que 88 couleurs : Si votre terminal ne supporte que 88 couleurs :
-<​code>​+<​code ​bash>
 set t_Co=88 set t_Co=88
 </​code>​ </​code>​
-Il est cependant nécessaire que le thème ait été pensé à la fois pour la GUI et le terminal. Si ce n'est pas le cas du thème que vous avez choisi, le plus simple est d'​utiliser le plugin [[http://​www.vim.org/​scripts/​script.php?​script_id=1809|guicolorscheme]]. +Il est cependant nécessaire que le thème ait été pensé à la fois pour la GUI et le terminal. Si ce n'est pas le cas du thème que vous avez choisi, le plus simple est d'​utiliser le plugin ​ [[https://​www.vim.org/​scripts/​script.php?​script_id=1809|guicolorscheme]]. 
-   * [[http://phollow.fr/2010/11/​5-themes-vim-pour-frimer-devant-les-filles/?utm_source=rss&​utm_medium=rss&​utm_campaign=5-themes-vim-pour-frimer-devant-les-filles|5 thèmes VIM pour frimer devant ​les filles]]+ 
 +Nota les thèmes installés par défaut se trouvent dans le répertoire ​/usr/share/vim/vim**xx**/colors ou xx correspond à la version en cours, 74 ou 80 à ce jour 
 + 
 +=== 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//​\\ 
 +Pour cela, il faut saisir dans vim 
 +<code bash># :set syntax=<​type de syntaxe>​ 
 +:set syntax=messages 
 +</​code>​ 
 +((src : https://​stackoverflow.com/​a/​3853036/​6614155))\\ 
 +Pour connaître la liste des types, <code bash>cd /​usr/​share/​nvim/​runtime/​syntax && grep -rn "​Language:"</​code>​ 
 +===== Extensions, plugins et packages ===== 
 +Il existe de nombreuses extensions à VIM, notamment ​pour les développeurs, ​pour ajouter des fonctionnalités telle que l'​arborescence du répertoire de travail, la liste des fonctions/​variables,​ des colorations spécifiques… 
 + 
 +Pour lister ​les plugins installés, dans VIM, tapez la commande: 
 +<​code>:​scriptnames </​code>​ 
 + 
 +==== Les plugins ==== 
 +C'est assez simple, ils se composent généralement de deux fichiers, un //.vim// et un //.txt//. 
 +Le //.vim// peut simplement être déposé dans ///​usr/​share/​vim/​vim80/​plugin///,​\\ 
 +le //.txt// dans ///​usr/​share/​vim/​vim80/​doc///​
  
-Nota les thèmes installés par défaut se trouvent dans le répertoire ​/usr/share/vim/vim**xx**/​colors ​ou xx correspond à la version en cours, 73 à ce jour+==== Les packages ==== 
 +C'est plus compliqué, mais il existe des outils, tel que [[https://github.com/tpope/vim-pathogen|Pathogen]] ​ou [[https://​github.com/​VundleVim/​Vundle.vim|Vundle]] pour simplifier leur installation
  
 ===== Pour aller plus loin ===== ===== Pour aller plus loin =====
-  * [[http://​www.vim.org/​]] -- Site officiel (en) +  * [[https://​www.vim.org/​]] -- Site officiel (en)
-  * [[http://​www.gentoo.org/​doc/​fr/​vi-guide.xml|Apprendre vi, la technique de "la feuille de triche"​]] +
-  * [[http://​cfennajoui.net/​vim/​|Traduction de la documentation de Vim (miroir)]]+
   * [[ftp://​ftp.vim.org/​pub/​vim/​doc/​book/​vimbook-OPL.pdf|Vim book (fichier PDF, anglais)]]   * [[ftp://​ftp.vim.org/​pub/​vim/​doc/​book/​vimbook-OPL.pdf|Vim book (fichier PDF, anglais)]]
-  * [[http://www.swaroopch.com/notes/Vim_fr:​Table_des_Mati%C3%A8res|Traduction française du livre: A byte of Vim]] +  * [[https://arolla.developpez.com/tutoriels/​programmation/​editeurs-code/​dompter-vim-en-trois-temps/|Tuto sur developpez.com]] 
-  * [[http://www.siteduzero.com/tutoriel-3-88344-vim-l-editeur-de-texte-du-programmeur.html|Tuto du site du zéro]] +  * [[https://yannesposito.com/Scratch/​fr/​blog/​Learn-Vim-Progressively/​|Apprendre Vim progressivement]] 
-  * [[http://vim-fr.org/index.php/Accueil|Wiki Francophone de Vim]]+  * [[https://​touticphoto.fr/​assistance-informatique/​30-editeur-de-texte-vim|Quelques notes de prises en main sur Vim]] 
 +  * [[https://github.com/dpelle/vim-Grammalecte|Plugin Grammalecte]] étendre les fonctionnalités de VIM avec un Correcteur grammatical dédié à la langue française.
  
 ---- ----
---- //refonte [[:​utilisateurs:​YoBoY|YoBoY]]//​ 
  
---- //Ajouts à la section "​Configuration" ​[[:​utilisateurs:​Mr_Djez|Mr_Djez]]//​+//Contributeurs : [[:​utilisateurs:​YoBoY|YoBoY]], ​[[:​utilisateurs:​Mr_Djez|Mr_Djez]], [[:​utilisateurs:​bcag2|bcag2]]//
  • vim.1385544376.txt.gz
  • Dernière modification: Le 27/11/2013, 10:26
  • par 213.245.236.42