Chez Ptit Gars

Accueil > Informatique > Linux > Vi Antisèche

Vi Antisèche

lundi 2 septembre 2013, par Pti Gars

Modes

Vi a deux modes : le mode d’insertion le mode de commande. L’éditeur commence en mode de commande, qui permet le mouvement du curseur, la suppression du texte et le coller. Le mode d’insertion commence en entrant dans une insertion ou une commande de changement. [ESC] retourne l’éditeur en mode commande (où vous pouvez quitter, par exemple en tapant :q!). La plupart des commandes s’exécutent dès que vous les tapez, sauf pour les commandes de « colon », qui s’exécutent lorsque vous appuyez sur la touche "entrer".

Vi has two modes insertion mode and command mode. The editor begins in command mode, where the cursor movement and text deletion and pasting occur. Insertion mode begins upon entering an insertion or change command. [ESC] returns the editor to command mode (where you can quit, for example by typing :q !). Most commands execute as soon as you type them except for "colon" commands which execute when you press the ruturn key.

Quitter

:x Quitter, enregistrer les modifications
:q Quitter tant qu’il n’y a eu aucun changement
ZZ Quitter et enregistrer les modifications s’il en a été faite
:q ! Quitter et ignorer toutes les modifications

Insertion de texte

i Insérer avant le curseur
I Insérer, avant la ligne
a Ajouter après le curseur
A Ajouter après la ligne
o Ouvrez une nouvelle ligne après la ligne actuelle
O Ouvrez une nouvelle ligne avant la ligne courante
r Remplacer un caractère
R Remplacer de nombreux personnages

Mouvement

h Avancez à gauche
j Déplacer vers le bas
k Déplacer vers le haut
l Déplacer vers la droite
w Déplacer vers le mot suivant
W Déplacement sur la prochaine mot délimité vide
b Se placer au début du mot
B Aller au début du mot delimted vide
e Accéder à la fin du mot
E Passez à la fin du mot délimité Blank
( Déplacer un retour de la phrase
) Déplacer une phrase de l’avant
{ Déplacer un paragraphe de retour
} Déplacer un paragraphe avant
0 Déplacer vers le début de la ligne
$ Accéder à la fin de la ligne
1G Passer à la première ligne du fichier
G Passer à la dernière ligne du fichier
nG Déplacer à n-ième ligne du fichier
:n Déplacer à n-ième ligne du fichier
fc Avancer à c
Fc Revenez à c
H Monter en haut de l’écran
M Déplacer vers milieu de l’écran
L Déplacer vers Botton d’écran
% Déplacez-vous associé (), {}, []

Suppression de texte

Presque toutes les commandes de suppression sont effectuées en tapant d suivie d’un mouvement. Par exemple, dw supprime un mot. Quelques autres suppressions sont les suivantes :

x Effacer le caractère à droite du curseur
X Effacer le caractère à gauche du curseur
D Supprimer à la fin de la ligne
dd Supprimer la ligne courante
:d Supprimer la ligne courante

Copier du texte

Comme la suppression, presque tous les commandes de copie sont effectués en tapant y "Yanking Text" suivie d’un mouvement. Par exemple, y $ arrache à la fin de la ligne. Deux autres commandes de copie sont :

yy Copier la ligne courante
:y Copier la ligne courante

Modification du texte

La commande de changement est une commande de suppression qui laisse l’éditeur en mode d’insertion. Elle est réalisée en tapant c suivie d’un mouvement. Pour exemple cw change un mot. Quelques autres commandes de changement sont les suivants :

C Modification de l’extrémité de la ligne
cc Changer toute la ligne

Mettre du texte

p Mettez-après la position ou après la ligne
P Mettez avant la position ou avant la ligne

Tampons

Buffers nommés peuvent être spécifiés avant toute suppression, changement, de copie ou de mettre commande. Le préfixe général a la forme "c où c est un caractère minuscule. Par exemple," supprime adw un mot dans un tampon. Il peut par la suite être remis en texte avec un "ap approprié.

Marqueurs

Marqueurs nommées peuvent être définies sur une ligne dans un fichier. Toute lettre minuscule peut être un nom de marqueur. Les correcteurs peuvent également être utilisés comme limites pour les plages.

mc Définir un repère c sur cette ligne
`c Aller au début de la ligne marqueur c.
’c Aller au premier caractère non blanc de la ligne marqueur c.

Recherche de chaînes

/Chaine Recherche avant pour la chaîne
 ?Chaîne RECHERCHE Retour à la corde
n Rechercher prochaine instance de chaîne
N Recherche par exemple précédent de ficelle

Remplacer

La fonction Rechercher et remplacer est accomplie avec la commande :s. Il est couramment utilisé en combinaison avec des plages ou g: commande (ci-dessous).

:s/pattern/string/flags Remplacez pattern avec de la string selon le flags.
g Flag - Remplacer toutes les occurrences de modèle
c Flag - Confirmer remplace.
& Répéter la dernière commande :s

Expressions régulières

. (Point) Tout caractère sauf retour à la ligne
* zéro ou plusieurs occurrences de tout caractère
[...] Tout caractère unique spécifié dans l’ensemble
[^ ...] Tout caractère non spécifié dans l’ensemble
^ Anchor - début de la ligne
$ Anchor - fin de ligne
\< Anchor - début du mot
\> Anchor - fin de mot
\(... \) Groupement - habituellement utilisé pour des conditions de groupe
\n Contenu de la n-ième groupement
[...] - Set exemples
[A-Z] Le jeu de Capital A à Z Capital
[a-z] Le SET à partir d’un minuscule en minuscules z
[0-9] Le SET 0-9 (Tous les chiffres)
[./=+] L’ensemble contenant. (Dot), barre oblique (/), = et +
[-A-F] Le jeu de Capital A à Capital F et le tiret (tirets doit être spécifié en premier)
[0-9 AZ] L’ensemble contenant toutes les lettres majuscules et de chiffres et d’un espace
[A-Z] [a-zA-Z] Dans la première position, l’ensemble de la capitale de A à Z Capital
Dans la deuxième position du premier caractère, l’ensemble contenant toutes les lettres
Exemples d’expressions régulières
/Bonjour/ Matches Si la ligne contient la valeur Bonjour
/^ESSAI$/ Matches si la ligne contient ESSAI par lui-même
/^[a-zA-Z]/ Matches si la ligne commence par une lettre
/^[a-z].*/ Matches Si le premier caractère de la ligne est a-z et s’il y a au moins un autre caractère suivant
/2134$/ Matches si la ligne se termine par 2134
/\(21|35\)/ Matches est la ligne contient 21 ou 35
Notez l’utilisation de () avec le symbole de tube pour spécifier la condition « ou »
/[0-9]*/ Matches s’il y a zéro ou plusieurs numéros de la ligne
/^[^#]/ Matches Si le premier caractère n’est pas un # sur la ligne
Remarques :
1. Les expressions régulières sont sensibles à la casse
2. Les expressions régulières sont à utiliser lorsque pattern est spécifié

Counts

Presque chaque commande peut être précédée par un certain nombre qui spécifie combien de fois il doit être exécuté. Par exemple, 5dw va supprimer 5 mots et 3fe va déplacer le curseur vers l’avant à la 3ème apparition de la lettre e. Même les insertions peuvent être répétées commodément avec cette méthode, dire d’insérer la même ligne de 100 fois.

Plages

Les plages peuvent précéder la plupart des commandes "colon" et les amener à être exécutés sur une ou plusieurs lignes. Par exemple :3,7d supprimerait les lignes 3-7. Les plages sont souvent combinés avec la commande :s pour effectuer un remplacement sur plusieurs lignes, comme :.,$s/pattern/string/g pour effectuer un remplacement de la ligne courante à la fin du fichier.

:n,m Range - Lignes n - m
 :. Range - ligne actuelle
 :$ Range - Dernière ligne
 :’c Range - Marker c
 :% Range - Toutes les lignes dans le fichier
:g/modèle/ Range - Toutes les lignes qui contiennent modèle

Fichiers

:w fichier Ecrire à déposer
:r fichier Lire le dossier en ligne après
:n Aller à l’image suivante
:p Accédez au fichier previos
:e fichier Modifiez le fichier
 !!Programme Remplacer la ligne avec une sortie de programme

Autre

~ Basculer UPP et minuscules
J Rejoignez lignes
. Répéter la dernière commande de changement de texte
u Annuler la dernière modification
U Annuler toutes les modifications à la ligne

Voir en ligne : http://www.lagmonster.org/docs/vi.html