Carte de Référence Vi
Transcription
Carte de Référence Vi
Carte de Référence Vi Modes Vi a deux modes: le mode d’insertion et le mode de commandes. Cet éditeur commence dans le mode de commandes, dans lequel on peut déplacer le curseur et effacer et coller du texte. Le mode d’insertion est entré en tappant une commande d’insertion ou de changement. [ESC] retourne l’éditeur au mode de commandes (où vous pouvez quitter en tappant :q!). La pluspart des commandes s’exécutent dès que vous les tappez sauf pour le deux points qui s’exécute quand vous tappez sur la touche entrée. Quitter Copier du texte Expressions régulières Comme l’effacement, presque toutes les commandes de copie sont formées de y et d’un mouvement. Par exemple, y$ copie jusqu’à la fin de la ligne. Voici deux autres commandes pour copier: un caractère simple excepté une nouvelle ligne zéro ou plus de répétitions un caractère dans l’ensemble un caractère qui n’est pas dans l’ensemble début, fin de ligne début, fin de mot groupement contenu du n ème groupe la ligne la ligne Changment du texte La commande de changement est une commande d’effacement qui laisse l’éditeur en mode d’insertion. Elle est formée de c et d’un mouvement. Par exemple, cw change un mot. Voici quelques autres commandes de changement : sortir et sauver les changements :x quitter (sauf s’il y a eu des changements) :q quitter (forcer, même si le fichier n’est pas sauvegardé) :q! jusqu’à la fin de la ligne la ligne au complet Insertion de texte coller après le curseur ou après la ligne coller avant le curseur ou avant la ligne insérer avant le curseur, avant la ligne inérer après le curseur, après la ligne ouvrir une ligne au dessus, au dessous remplacer un caractère, plusieurs caractères i a o r , , , , I A O R Mouvement gauche, bas, haut, droite prochain mot, mot précédé d’un espace début du mot, précédé d’un espace fin du mot, précédé d’un espace phrase en arrière, en avant paragraphe en arrière, en avant début, fin de ligne début, fin de fichier ligne n avancer, reculer jusq’au caractère c avancer, reculer avant le caractère c haut, milieu, bas de lécran h , j , k , l w , W b , B e , E ( , ) { , } 0 , $ 1G , G n G ou :n fc , Fc tc , Tc H , M , L Effacer du texte Presque toutes les commandes d’effacement sont formées de d et d’un mouvement. Par exemple, dw efface un mot. Voici quelques autres commandes: caractère à droite, à gauche jusqu’à la fin de la ligne la ligne la ligne x , X D dd :d yy :y C cc Coller du texte p P Registres Des registres peuvent être spécifiés avant toute commande d’effacement, de changement, de copiage ou de collage. Le préfixe est généralement de la forme "c où c peut être une lettre minuscule. Par exemple, "adw efface un mot dans le registre a. On peut ensuite coller ce mot avec la commande "ap. Marqueurs Des marqueurs nommés peuvent être placés sur n’importe quelle ligne d’un fichier. Toute lettre minuscule peut être le nom d’un marqueur. Les marqueurs peuvent aussi être utilisés comme limites d’une étendue. placer un marqueur c sur la ligne aller au marqueur c aller au début de la ligne du marqueur c mc ‘c ’c Chercher une chaı̂ne de caractères chercher en avant chercher en arrière répéter dans la même direction, à l’inverse /cha^ ıne ?cha^ ıne n , N Remplacer Le remplacement est accompli avec la commande :s. Elle est courramment employée en combinaison avec des étendues ou la commande :g (plus bas). remplacer patron par chaı̂ne :s/patron /cha^ ıne /modif modif: sur la totalité de la ligne, confirmer g , c répéter la dernière commande :s & . (point) * [...] [^ ...] ^ , $ \< , \> \(. . . \) \n Compteurs Presque chaque commande peut être précédée par un numéro qui spécifie combien de fois elle doit être exécutée. Par exemple, 5dw efface 5 mots et 3fe déplace le curseur en avant vers la 3ème apparition de la lettre e. Même les insertions peuvent être répétées avec cette méthode, comme pour insérer 100 fois la même ligne. Étendues Les étendues peuvent précéder la pluspart des commandes deux points pour qu’elles soient exécutées sur une ou plusieurs lignes. Par exemple, :3,4d efface les lignes 3−7. Le étendues sont courramment combinées avec la commande :s pour remplacer sur plusieurs lignes. :.,$s/patron/cha^ ıne/g remplace à partir de la ligne courante jusqu’à la fin du fichier. lignes n-m ligne courante dernière ligne marqueur c toutes les lignes toutes les lignes qui vérifient patron :n ,m :. :$ :’c :% :g/patron / Fichiers sauvegarder (courant s’il n’y a pas de nom) :w fichier ajouter au fichier (>>fichier optionel) :w >>fichier lire le fichier après la ligne courante :r fichier lire la sortie du programme :r !programme prochain fichier :n fichier précédent :prev éditer un nouveau fichier :e fichier remplacer ligne par sortie du programme :.!programme Autre changer entre minuscule et majuscule joindre des lignes répéter la dernière modification de texte annuler dernier changement, tous ceux d’une ligne u , ~ J . U Mouvements additionnels L’endos — Extensions de Vim Mode visuel Le mode visuel est probablement l’extension la plus utile de Vim. Il permet de surligner une région de texte pour y appliquer une commande d’édition ou deux points . surligner par caractères surligner par ligne surligner par colonne re–sélectionner la zone visuelle précédente v V C-V gv Fenêtres Même sur les consoles textuelles, Vim permet à l’environnement d’être divisé en fenêtres qui contiennent des fichiers possiblement différents. Les commandes pour ouvrir une nouvelle fenêtre prennent un fichier optionnel en paramètre. ouvrir une nouvelle fenêtre horizontalement séparer la fenêtre courante horizontalement séparer la fenêtre courante verticalement fermer la fenêtre courante fermer toutes les fenêtres sauf celle qui a le focus se déplacer vers la prochaine fenêtre se déplacer vers la fenêtre prć’edente égaliser largeur et hauteur des fenêtres C-W = rappetisser, agrandir hauteur d’une ligne C-W rappetisser, agrandir largeur d’une col. C-W < :new :split :vsplit :close :only C-W w C-W p , C-W | , C-W + , C-W > Objets En plus des mouvements de base supportés par Vi, Vim supporte quelques autres objets: mot, phrase, paragraphe et bloc. Ils sont utilisés avec les commandes d’édition (effacement, changement et copie). Leur avantage sur les mouvements est qu’il n’es pas nécessaire d’être à l’extrémité d’un objet. Par exemple, das efface une phrase peu importe où on se trouve dans celle-ci. un mot, une phrase, un paragraphe idem sans espace blanc (interne) blocs délimités par [ ], (), <> et {} idem sans les délimiteurs aw, iw, a[, a(, i[, i(, as, is, a<, i<, ap ip a{ i{ Repliage aller au début, à la fin d’un bloc { } idem pour les parenthèses idem pour / (commentaires du style C) fin de mot précédente, suivie d’un espace [{ , [( , [/ , ge, ]} ]) ]/ gE Marqueurs additionnels Les marques ajoutées avec une lettre majuscule sont glogales ; aller vers une marque globale peut vous emmener vers un fichier différent. Plusieurs marques sont mémorisées d’une session à l’autre: dernière position où le fichier était ouvert dernière position où le fichier a été édité fichier et position de la dernière session Vim ’" ’. ’0 Autres recherches recherche incrémentale :set (no)incsearch surligner la recherche :set (no)hlsearch chercher maj. et min. sans diff. :set (no)ignorecase chercher le mot sous le curseur: avant, arrière * , # Interface et couleurs coloration de syntaxe basculer vers le mode graphique afficher les numéros de lignes afficher les commandes tappées afficher les délimiteurs correspondant :syntax on :gui :set number :set showcmd :set showmatch indentation automatique :set ai indentation intelligente :set si format du fichier (dos, unix, mac) :set ff=... édition de tables :set virtualedit=all éditer les options :options Édition en mode d’insertion Quelques commandes sont disponnibles dans le mode d’insertion: copier la ligne au dessus, en dessous C-Y , C-E compléter avec à l’aide des mots précédents C-P insérer le registre (de copie) C-R insérer une lettre composée C-K di exécuter une seule commande C-O commande Pour faciliter l’édition d’un fichier, plusieurs lignes peuvent être repliées en une seule ligne surlignée. Écartez de longues sections de texte ainsi pour augmenter la lisibilité. créer, effacer un repliage ouvrir, (re)fermer un repliage ouvrir, fermer un niveau de repliage ouvrir, fermer tous les repliages désactiver, activer, basculer les repliages sauvegarder, charger vue (avec repliages) zf, zd zo, zc zr, zm zR, zM zn, zN, zi :mkview, :lo Compilation et code source Plusieurs commandes facilitent le développement de logiciels: corriger l’indentation d’une ligne incrémenter le niveau d’indentation décrémenter le niveau d’indentation == >> << exécuter make et aller à la première erreur :make aller à la prochaine erreur, la précédente :cnext, :cprev aller à la première erreur, à la dernière :cfirst, :clast afficher l’erreur, la liste des erreurs :cc, :clist lignes contenant l’identificateur sous le curseur [I Utiliser les ctags Vous devez d’abord exécuter ctags ou etags sur votre fichier pour utiliser ces fonctionnalités. aller à la fonction étiquette aller à l’étiquette sous le curseur étiquette précédente :tag étiquette C-] C-t Autre reformatter les marges majuscule, minuscule, alterner ajouter ou soustraire du nb. sous le curseur éditer le fichier sous le curseur afficher le man du mot sous le curseur imprimer une copie du fichier énumérer les lettres composées historique des commandes modifiable c 2002-2005 Donald J. Bindner – sous les termes de la license GNU General Public License 2.0 ou ultérieure. Traduction française par Gabriel Filion, 2006. gq gU, gu, g~ C-A , C-X gf K :hardcopy :digraphs q: