Tags:
create new tag
, view all tags
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

Topic revision: r2 - 2013-03-07 - EmmanuellePerret
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback