Page en cours de construction
Petit manuel de l'éditeur VI à l'usage des bonnes gens de VizieR.
VI est un éditeur très puissant qui permet d'exécuter à peu près n'importe quelle commande. Il est, toutefois, un peu difficile à appréhender au début. Ci-dessous, un petit rappel pour le démarrage avec VI (le démarrage seulement ; après on est accroc).
Sur cdsarc, on utilise VIM (le VI improved) et par défaut, les expressions régulières ne sont pas prises en compte (ceci est une note pour plus tard, cf. commande set magic).
Un éditeur VI dispose de différents
modes et c'est ce qui le rend un peu complexe à comprendre de prime abord.
Il y a 4 modes principaux qui nous serviront :
- le mode
NORMAL (celui sur lequel on arrive quand on ouvre un fichier via VI)
- le mode
EDITION qui peut se décomposer en 2 sous-modes : INSERTION ou REPLACEMENT
- le mode
COMMANDES qui permet d'exécuter des commandes VI grâce au ":" ou des commandes extérieures grâce au "!"
- le mode
VISUAL BLOCK qui permet de bouger des blocs de texte.
1. Pour ouvrir un fichier avec VI : on tape la commande
vi nom_du_fichier
Si nom_du_fichier n'existait pas, il est créé. Sinon, il s'ouvre en mode NORMAL.
Sur cdsarc, la commande
vir permet d'ouvrir un fichier dans VI en lecture seule. Par défaut si vir n'est pas suivi d'un nom de fichier, il ouvre le
ReadMe.
2. Comment écrire du texte dans un fichier ouvert via VI :
Il y a plusieurs manières de faire mais il va falloir passer en mode EDITION (ctrl+c pour en sortir et revenir au mode NORMAL)... Selon l'humeur,
Exemple 1: vous voulez
insérer du texte, quelque part, qui est copié dans votre souris .
Il faut placer votre curseur à l'endroit où vous voulez insérer votre texte (à l'aide des flèches, ça marche très bien).
Puis, il va falloir que vous passiez en mode
INSERTION (c'est logique). Pour cela, différents moyens s'offrent à vous selon votre envie :
En tapant
O, vous créez une ligne vide
au-dessus de la ligne où est votre curseur et vous passez en mode insertion (vous devez voir apparaître un "-- INSERT --" en bas de votre page).
Vous n'avez plus qu'à décharger le contenu de votre souris en cliquant sur la molette.
Comme VI est très logique. En tapant
o, vous obteniez un résultat quasi-similaire avec une ligne vide,
au-dessous de la ligne courante (la ligne courante est la ligne où se trouve le curseur).
Exemple 2: Plus simple, vous voulez seulement
insérer du texte au milieu d'une phrase .
Il faut toujours placer votre curseur à l'endroit qui vous intéresse. Ensuite en tappant
i ou la touche
Inser de votre clavier, vous aller saisir votre texte avant le curseur. En tappant
a, ce sera après le curseur.
Exemple 3: Encore plus simple ! Vous voulez
insérer du texte au début ou en fin de phrase :
En tappant
I, le texte s'insère en début de ligne quelque soit l'endroit de votre curseur et en tappant
A, le texte s'insère en fin de ligne...
Exemple 4: Faisons tordu mais simple. Vous voulez
remplacer du texte déjà existant . VI vous permet de faire des palimpsestes à l'infini. Ceux qui ont suivi, ont reconnu le mode (ou sous-mode)
REPLACEMENT. Il suffit de tapper
R. C'est tout.
(Petite parenthèse, vous avez une autre manière de vous mettre en mode replace (-- REPLACE -- c'est ce qui apparaît en bas de votre page) : lorsque vous êtes en mode -- INSERT --, en tappant sur la touche "Inser", vous passez en -- REPLACE --). En mode REPLACE, comme dans tous les modes (sauf COMMANDES), vous pouvez vous déplacer avec les flèches. Pour sortir de ce mode, comme pour le mode INSERT, il faut faire
Echap ou la commande qui marche pour sortir de tous les modes d'EDITION & VISUAL :
Ctrl+c
Exemple 5: Vous voulez
changer un seul caractère , vous pouvez mettre le curseur sur ce caractère, tapper "r" et le caractère que vous voulez. Dans ce cas, vous restez en mode NORMAL sans passer par le mode REPLACEMENT (ou bien, en fait, vous y passez si vite que vous ne l'avez pas vu).
Si c'est trop compliqué de retenir ces subtiles différences,
vous pouvez toujours choisir une seule option et l'adapter ! Si, si. Moi, par exemple, j'utilise tout le temps
i (et un peu
O et
R) et je m'en sors très bien. Si, si.
2. Comment supprimer des lignes dans un fichier ouvert via VI :
Il faut être en mode NORMAL (celui qui permet de tapper diverses COMMANDES).
Pour
supprimer une ligne , il faut positionner son curseur sur la ligne (avec les flèches ou en tappant :numero_de_ligne) et tapper
dd
(Petite parenthèse,
S marche aussi mais vous fait passer, en plus, au mode INSERT ! C'est plutôt pour les pros du coup...)
Pour supprimer plusieurs lignes, on a encore différentes manière de faire :
Exemple 1: Je veux
supprimer la ligne courante et les 3 lignes qui sont en-dessous .
Mon curseur étant quelque part sur la ligne courante, je tappe
d3j
Exemple 2: Je veux
supprimer les lignes 10 à 20.
Je tappe
:10,20d
Exemple 3: Je veux
supprimer les lignes depuis la ligne courante jusqu'à la fin de mon fichier.
Mon curseur étant quelque part sur la ligne courante, je tappe
:.,$d
Exemple 4: Je veux
supprimer les lignes depuis le début de mon fichier jusqu'à la ligne courante .
Mon curseur étant quelque part sur la ligne courante, je tappe
:1,.d
3. Comment sauvegarder et sortir de mon fichier :
En mode NORMAL toujours, on
sauvegarde avec
:w
On peut faire des
modifications dans un fichier et vouloir sauvegarder le résultat dans un nouveau fichier. Il suffit de faire un
:w nouveau_fichier pour sauvegarder ce résultat. Cela crée un fichier intitulé "nouveau_fichier". Attention, vous êtes toujours dans votre premier fichier ; si vous voulez le conserver, il faut sortir sans enregistrer les modification avec
:q!
Pour
sortir d'un fichier, on a donc la commande
:q
La commande :w fichier1, si fichier1 existe déjà renvoi un message d'avertissement. Pour
écraser fichier1, il suffit de faire un
:w! fichier1
Et comme VI est très fort, vous pouvez
enregister les modifications et sortir du fichier en une seule commande qui est...
:wq
4. Comment copier un fichier à l'intérieur de mon fichier :
En mode NORMAL, vous pouvez placer votre curseur à l'endroit souhaité et faire
:r f3 pour insérer le contenu du fichier "f3" dans votre fichier.
5. Au secours, je me suis trompé :
Pas de panique, vous pouvez toujours faire
Echap et tapper
u pour revenir en arrière. (Petite parenthèse : vous pouvez aussi sortir du fichier sans enregistrer avec
:q!)
Si vous avez fait trop de "u", vous pouvez faire
ctrl+r pour annuler votre retour arrière...
--
EmmanuellePerret - 06 Mar 2013