Accueil > Informatique > Linux > Vi Antisèche
Vi Antisèche
lundi 2 septembre 2013, par
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 |
[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 |
/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