all:bibles:linux:vi
Différences
Ci-dessous, les différences entre deux révisions de la page.
| all:bibles:linux:vi [2024/06/14 11:10] – créée - modification externe 127.0.0.1 | all:bibles:linux:vi [2025/02/20 10:47] (Version actuelle) – [Dos2Unix] omeylhoc | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | ====== Editeur VI ====== | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Déplacements ===== | ||
| + | |||
| + | ==== Au sein du fichier ==== | ||
| + | |||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | G fin de fichier | ||
| + | :< | ||
| + | < | ||
| + | < | ||
| + | { paragraphe précédent | ||
| + | } paragraphe suivant | ||
| + | z< | ||
| + | z. ligne courante au milieu de l’écran | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | ==== Au sein d'une ligne ==== | ||
| + | |||
| + | < | ||
| + | 0 début de ligne | ||
| + | ^ début de ligne (pas les espaces) | ||
| + | $ fin de ligne | ||
| + | w déplacement un mot à droite | ||
| + | b déplacement d’un mot à gauche | ||
| + | ) fin de phrase | ||
| + | ( début de phrase | ||
| + | % recherche la parenthèse ou crochet correspondant | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | [[all: | ||
| + | |||
| + | ===== Modifications ===== | ||
| + | |||
| + | ==== Insertion ==== | ||
| + | |||
| + | < | ||
| + | i | ||
| + | I | ||
| + | a ajout après le curseur | ||
| + | A ajout en fin de ligne | ||
| + | o ajout ligne suivante | ||
| + | O | ||
| + | :r fichier | ||
| + | </ | ||
| + | |||
| + | ==== Suppression ==== | ||
| + | |||
| + | < | ||
| + | x | ||
| + | < | ||
| + | dw mot courant | ||
| + | < | ||
| + | dd ligne courante | ||
| + | < | ||
| + | d^ depuis le début de la ligne | ||
| + | d$ jusqu’à la fin de la ligne | ||
| + | : | ||
| + | : | ||
| + | : | ||
| + | : | ||
| + | </ | ||
| + | |||
| + | ==== Remplacement ==== | ||
| + | |||
| + | < | ||
| + | r caractère courant | ||
| + | R mode remplacement | ||
| + | cw le mot courant | ||
| + | c$ ou C jusqu’à la fin de la ligne | ||
| + | c^ depuis le début de la ligne | ||
| + | s remplace 1 caractère et passe en insertion | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Recherche/ | ||
| + | |||
| + | ==== Recherche ==== | ||
| + | |||
| + | < | ||
| + | /xxx | ||
| + | ?xxx | ||
| + | /^xxx recherche en début de ligne | ||
| + | / | ||
| + | / | ||
| + | n relance la dernière recherche | ||
| + | N dernière recherche en sens inverse | ||
| + | `^xx | ||
| + | / | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | ==== Remplacement ==== | ||
| + | |||
| + | < | ||
| + | : | ||
| + | : | ||
| + | : | ||
| + | : | ||
| + | : | ||
| + | : | ||
| + | : | ||
| + | : | ||
| + | : | ||
| + | & | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | [[all: | ||
| + | |||
| + | ===== Buffer ===== | ||
| + | |||
| + | ==== Mémorisation ==== | ||
| + | |||
| + | < | ||
| + | yy ou Y | ||
| + | ”xyy ou ”xY idem dans le buffer x | ||
| + | nyy ou nY | ||
| + | ”xnyy ou ”xnY | ||
| + | y$ mémorisation de la fin de la ligne | ||
| + | mx marque le début d’un bloc | ||
| + | y’x | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | Si la référence x du buffer est une lettre majuscule, les mémorisations se font en ajout | ||
| + | </ | ||
| + | |||
| + | ==== Utilisation ==== | ||
| + | |||
| + | < | ||
| + | p Ajout du buffer après | ||
| + | ”xp Ajout du buffer x après | ||
| + | P Insertion du buffer avant | ||
| + | ”xP Insertion du buffer x avant | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | [[all: | ||
| + | |||
| + | ===== Astuces ===== | ||
| + | |||
| + | ==== Exécution commande ==== | ||
| + | |||
| + | :g exécute une commande sur les lignes correspondant à une expression régulière. | ||
| + | |||
| + | < | ||
| + | : | ||
| + | : | ||
| + | : | ||
| + | </ | ||
| + | |||
| + | ==== Supprimer les débuts de lignes ==== | ||
| + | |||
| + | <code bash> | ||
| + | :%norm 10x efface les 10 premières colonnes de toutes les lignes | ||
| + | :5,10 dw efface le premier mot des lignes 5 à 10 | ||
| + | </ | ||
| + | |||
| + | ==== Modifications complexes ==== | ||
| + | |||
| + | <code bash> | ||
| + | :2,9norm f" | ||
| + | </ | ||
| + | |||
| + | * :2,9 on applique de la ligne 2 à la ligne 9 seulement | ||
| + | * norm on applique les commandes usuelles en mode commande | ||
| + | * f" | ||
| + | * i( on insère une parenthèse ouvrante | ||
| + | * ^[ équivalent de la touche < | ||
| + | * f: on recherche : | ||
| + | * r, on remplace les : par une virgule | ||
| + | * $ on va en fin de ligne | ||
| + | * i) on insère une parenthèse fermante | ||
| + | |||
| + | ==== Dos2Unix ==== | ||
| + | |||
| + | Changer tous les < | ||
| + | |||
| + | <code bash> | ||
| + | : | ||
| + | </ | ||
| + | |||
| + | ==== Visualiser en mode binaire ==== | ||
| + | |||
| + | === VI === | ||
| + | |||
| + | <code bash> | ||
| + | vi -b < | ||
| + | </ | ||
| + | |||
| + | === xxd === | ||
| + | |||
| + | <code bash> | ||
| + | xxd < | ||
| + | </ | ||
| + | |||
| + | === hexdump === | ||
| + | |||
| + | <code bash> | ||
| + | hexdump -C < | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | [[all: | ||
| + | |||
| + | ===== Macro ===== | ||
| + | |||
| + | ==== Enregistrer une macro ==== | ||
| + | |||
| + | < | ||
| + | q a I , ESC j q | ||
| + | </ | ||
| + | |||
| + | * q : enregistrer une macro | ||
| + | * a : nom du registre de la macro | ||
| + | * A partir de là faire les actions à enregistrer. Dans l' | ||
| + | * q : fin de l' | ||
| + | |||
| + | ==== Exécuter une macro ==== | ||
| + | |||
| + | === n fois === | ||
| + | |||
| + | Pour exécuter 5 fois la macro du registre a : | ||
| + | |||
| + | < | ||
| + | 5 @ a | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | [[all: | ||
| + | |||
| + | ===== Quitter / Sauvegarde ===== | ||
| + | |||
| + | < | ||
| + | :w | ||
| + | :wq sauvegarde et quitter | ||
| + | :x | ||
| + | :w fichier | ||
| + | :n,mw fichier | ||
| + | :q | ||
| + | :q! quitter sans sauver (abandon) | ||
| + | : | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | [[all: | ||
| + | |||
| + | ===== Commandes diverses ===== | ||
| + | |||
| + | < | ||
| + | . ré exécute la dernière commande | ||
| + | u undo : annule l’action précédente | ||
| + | < | ||
| + | J join :concatène la ligne courante et la suivante | ||
| + | : | ||
| + | : | ||
| + | :!sh shell (retour par exit ou < | ||
| + | << | ||
| + | >> | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | [[all: | ||
| + | |||
| + | ===== Configuration en mode commande ===== | ||
| + | |||
| + | < | ||
| + | :set all pour visualiser les options | ||
| + | : | ||
| + | : | ||
| + | :set mouse-=a | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | [[all: | ||
| + | |||
| + | ===== Fichier de configuration ===== | ||
| + | |||
| + | Les options de l’éditeurs sont mémorisées dans le fichier <color # | ||
| + | |||
| + | < | ||
| + | colorscheme delek autre thème pour la coloration syntaxique | ||
| + | set tabstop=4 | ||
| + | set shiftwidth=4 | ||
| + | set number | ||
| + | set autoident | ||
| + | set showmode | ||
| + | set ic/set noic | ||
| + | syn on coloration syntaxique | ||
| + | let loaded_matchparen = 1 évite le chargement du module qui fait le match parenthèse | ||
| + | autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o désactiver l’insertion automatique de commentaires. | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | [[all: | ||
| + | |||
| + | ===== Dépannage ===== | ||
| + | |||
| + | ==== Mauvais fonctionnement du copier/ | ||
| + | |||
| + | === Problème === | ||
| + | |||
| + | Quand on essaye de < | ||
| + | |||
| + | === Palliatif === | ||
| + | |||
| + | Utiliser la touche < | ||
| + | |||
| + | === Solution === | ||
| + | |||
| + | Le problème vient de l' | ||
| + | |||
| + | < | ||
| + | syn on | ||
| + | </ | ||
| + | |||
| + | <note tip> | ||
| + | |||
| + | ---- | ||
| + | |||
| + | [[all: | ||
