Publicités

Dans ce chapitre, nous allons comprendre comment l’éditeur vi fonctionne sous Unix. Il existe de nombreuses façons d’éditer des fichiers sous Unix. L’édition de fichiers à l’aide de l’éditeur de texte orienté écran vi est l’une des meilleures façons. Cet éditeur vous permet d’éditer des lignes en contexte avec d’autres lignes dans le fichier.

Une version améliorée de l’éditeur vi qui s’appelle le VIM a également été rendue disponible maintenant. Ici, VIM signifie Vi IMproved.

vi est généralement considéré comme la norme de facto dans les éditeurs Unix parce que –

  • Il est généralement disponible sur toutes les saveurs du système Unix.

  • Ses implémentations sont très similaires à travers le conseil.

  • Il nécessite très peu de ressources.

  • Il est plus convivial que d’autres éditeurs tels que le ed ou le ex.

Vous pouvez utiliser l’éditeur vi pour modifier un fichier existant ou pour créer un nouveau fichier à partir de zéro. Vous pouvez également utiliser cet éditeur pour simplement lire un fichier texte.

Démarrer l’éditeur vi

Le tableau suivant présente les commandes de base pour utiliser l’éditeur vi –


Sr.Non. Commande & Description
1

vi filename

Créer un nouveau fichier s’il n’existe pas déjà, sinon ouvrir un fichier existant.

2 Vi -R nom du fichier

Ouvre un fichier existant en mode lecture seule.

3

view nom du fichier

Ouvre un fichier existant en mode lecture seule.

Voici un exemple pour créer un nouveau fichier testfile s’il n’existe pas déjà dans le répertoire de travail actuel –

$vi testfile

La commande ci-dessus générera la sortie suivante –

|~~~~~~~~~~~~"testfile" 

Vous remarquerez un tilde (~) sur chaque ligne suivant le curseur. Un tilde représente une ligne non utilisée. Si une ligne ne commence pas par un tilde et semble vide, c’est qu’un espace, une tabulation, une nouvelle ligne ou un autre caractère non visualisable est présent.

Vous avez maintenant un fichier ouvert sur lequel vous pouvez commencer à travailler. Avant d’aller plus loin, comprenons quelques concepts importants.

Modes d’opération

Lorsque nous travaillons avec l’éditeur vi, nous rencontrons généralement les deux modes suivants –

  • Mode commande – Ce mode vous permet d’effectuer des tâches administratives telles que l’enregistrement des fichiers, l’exécution des commandes, le déplacement du curseur, la coupe (arrachage) et le collage des lignes ou des mots, ainsi que la recherche et le remplacement. Dans ce mode, tout ce que vous tapez est interprété comme une commande.

  • Mode Insertion – Ce mode vous permet d’insérer du texte dans le fichier. Tout ce qui est tapé dans ce mode est interprété comme une entrée et placé dans le fichier.

Vi démarre toujours en mode commande. Pour entrer du texte, vous devez être en mode insertion pour lequel il suffit de taper i. Pour sortir du mode insertion, appuyez sur la touche Esc, ce qui vous ramènera au mode commande.

Introduction – Si vous n’êtes pas sûr du mode dans lequel vous êtes, appuyez deux fois sur la touche Esc ; cela vous amènera au mode commande. Vous ouvrez un fichier à l’aide de l’éditeur vi. Commencez par taper quelques caractères et venez ensuite en mode commande pour comprendre la différence.

Sortir de vi

La commande pour sortir de vi est :q. Une fois en mode commande, tapez deux points, et ‘q’, suivi de retour. Si votre fichier a été modifié de quelque manière que ce soit, l’éditeur vous en avertira, et ne vous laissera pas quitter. Pour ignorer ce message, la commande permettant de quitter vi sans sauvegarder est :q ! Cela vous permet de quitter vi sans enregistrer aucune des modifications.

La commande pour enregistrer le contenu de l’éditeur est :w. Vous pouvez combiner la commande ci-dessus avec la commande quit, ou utiliser :wq et return.

La façon la plus simple d’enregistrer vos modifications et de quitter vi est la commande ZZ. Lorsque vous êtes en mode commande, tapez ZZ. La commande ZZ fonctionne de la même manière que la commande :wq.

Si vous voulez spécifier/établir un nom particulier pour le fichier, vous pouvez le faire en le spécifiant après le :w. Par exemple, si vous voulez enregistrer le fichier sur lequel vous travaillez sous un autre nom de fichier appelé filename2, vous devez taper :w filename2 et revenir.

Déplacement dans un fichier

Pour vous déplacer dans un fichier sans affecter votre texte, vous devez être en mode commande (appuyez deux fois sur Esc). Le tableau suivant énumère quelques commandes que vous pouvez utiliser pour vous déplacer d’un caractère à la fois –

. position

Sr.No. Commande & Description
1

k

Déplace le curseur vers le haut. une ligne

2

j

Déplace le curseur vers le bas d’une ligne

3

Déplace le curseur vers la gauche d’un caractère le curseur vers la gauche d’un caractère

4

l

Déplace le curseur vers la droite d’un caractère

Les points suivants doivent être pris en compte pour se déplacer dans un fichier –

  • Vi est sensible à la casse.sensible à la casse. Vous devez faire attention aux majuscules lorsque vous utilisez les commandes.

  • La plupart des commandes de vi peuvent être précédées du nombre de fois que vous voulez que l’action se produise. Par exemple, 2j déplace le curseur deux lignes plus bas que l’emplacement du curseur.

Il existe de nombreuses autres façons de se déplacer dans un fichier en vi. N’oubliez pas que vous devez être en mode commande (appuyez deux fois sur Esc). Le tableau suivant énumère quelques commandes pour se déplacer dans le fichier –

Donné ci-dessous est la liste des commandes pour se déplacer dans le fichier.

.

. mot

. mot


Sr.No. Commande & Description
1

0 ou &verbar ;

Positionne le curseur au début d’une ligne

2

Positionne le curseur à la fin d’une ligne

3

w

Positionne le curseur sur le mot suivant

4

b

Positionne le curseur sur le mot précédent

5

(

Positionne le curseur au début de la phrase actuelle

6 .

)

Pose le curseur au début de la phrase suivante

E

Déplace le curseur à la fin du mot délimité par un blanc

8

{

Déplace un paragraphe en arrière

9

}

Déplace un paragraphe en avant

.

10

]

Déplace une section vers l’avant

12

n|

Déplace la colonne n dans la ligne actuelle

13

1G

Déplacements vers la première ligne du fichier

14

G

Déplacements vers la dernière ligne du fichier

. à la dernière ligne du fichier
15

nG

Déplace à la nième ligne du fichier

16

:n

Déplacements vers la nième ligne du fichier

17

fc

Déplacements vers l’avant vers c

18

Fc

Déplacements retour à c

19

H

Déplacements vers le haut de l’écran

20

nH

Déplacements vers la nième ligne depuis le haut de l’écran

21

M

Déplacements vers le milieu de l’écran

22

L

Déplacements vers le le bas de l’écran

23

nL

Déplacement vers la nième ligne à partir du bas de l’écran

24

😡

Un colon suivi d’un nombre positionnerait le curseur sur le numéro de ligne représenté par x

Commandes de contrôle

Les commandes suivantes peuvent être utilisées avec la touche de contrôle pour exécuter les fonctions indiquées dans le tableau ci-dessous –

Ci-dessous figure la liste des commandes de contrôle.

Sr.No. Commande & Description
1

CTRL&plus ;d

Déplacements vers l’avant d’1/2 écran

2 CTRL&plus ;f

Déplacement vers l’avant d’un plein écran

3 CTRL&plus ;u

Déplacements vers l’arrière d’1/2 écran

4

CTRL&plus ;b

Reculer d’un plein écran

5

CTRL&plus ;e

Déplace l’écran d’une ligne vers le haut

6

CTRL&plus ;y

Déplace l’écran d’une ligne vers le bas

7

CTRL&plus ;u

Déplace l’écran d’une 1/2 page vers le haut

8

CTRL&plus ;d

Déplace l’écran d’une 1/2 page vers le bas

9

CTRL&plus ;b

Déplace l’écran d’une page vers le haut

10

CTRL&plus ;f

Déplace l’écran d’une page vers le bas

11

CTRL&plus ;I

Redessine l’écran

Modification des fichiers

Pour modifier le fichier, vous devez être en mode insertion. Il existe plusieurs façons d’accéder au mode insertion à partir du mode commande –

.

.

.

Sr.No. Commande & Description
1

i

Insère du texte avant l’emplacement actuel du curseur

2 I

Insère du texte au début de la ligne actuelle

3

a

Insère du texte après l’emplacement actuel du curseur

4

A

Insère du texte à la fin de la ligne actuelle

5

o

Crée une nouvelle ligne pour la saisie de texte sous l’emplacement du curseur

6 O

Crée une nouvelle ligne pour la saisie de texte au-dessus de l’emplacement du curseur

Suppression de caractères

Voici une liste de commandes importantes, qui peuvent être utilisées pour supprimer des caractères et des lignes dans un fichier ouvert –

.

dw

Supprime de l’emplacement actuel du curseur jusqu’au mot suivant

Sr.No. Commande & Description
1

x

Supprime le caractère situé sous l’emplacement du curseur

2

X

.

Supprime le caractère avant l’emplacement du curseur

3 4

d^

Supprime de la position actuelle du curseur jusqu’au début de la ligne

5

d$

Supprime de la position actuelle du curseur jusqu’à la fin de la ligne

6

D

.

Supprime de la position du curseur à la fin de la ligne actuelle

7

dd

Supprime la ligne sur laquelle se trouve le curseur

Comme mentionné ci-dessus, la plupart des commandes de vi peuvent être précédées du nombre de fois que vous souhaitez que l’action se produise. Par exemple, 2x supprime deux caractères sous l’emplacement du curseur et 2dd supprime deux lignes sur lesquelles se trouve le curseur.

Il est recommandé de pratiquer les commandes avant de poursuivre.

Commandes de modification

Vous avez également la possibilité de modifier des caractères, des mots ou des lignes dans vi sans les supprimer. Voici les commandes concernées –



Sr.No. Commande & Description
1

cc

Supprime le contenu de la ligne, vous laissant en mode insertion.

2

cw

Change le mot sur lequel se trouve le curseur à la fin du mot en w minuscule.

3

r

Remplace le caractère sous le curseur. vi revient au mode de commande après la saisie du remplacement.

4

R

Surécrit plusieurs caractères en commençant par le caractère actuellement sous le curseur. Vous devez utiliser Esc pour arrêter l’écrasement.

5

s

Remplace le caractère actuel par le caractère que vous tapez. Ensuite, vous restez en mode insertion.

6

S

Supprime la ligne sur laquelle se trouve le curseur et la remplace par le nouveau texte. Après la saisie du nouveau texte, vi reste en mode insertion.

Commandes de copier et de coller

Vous pouvez copier des lignes ou des mots à partir d’un endroit et ensuite les coller à un autre endroit en utilisant les commandes suivantes –

Sr.No. Commande & Description
1

yy

Copie la ligne en cours.

2

yw

Copie le mot courant à partir du caractère sur lequel se trouve le curseur w minuscule, jusqu’à la fin du mot.

3

p

Pose le texte copié après le curseur.

4

P

Pose le texte arraché avant le curseur.

Commandes avancées

Il existe certaines commandes avancées qui simplifient l’édition au quotidien et permettent une utilisation plus efficace de vi –

La liste des commandes avancées est donnée ci-dessous.


Sr.No. Commande & Description
1

J

Joint la ligne actuelle avec la suivante. Un nombre de commandes j joint de nombreuses lignes.

2

<<

Décale la ligne actuelle vers la gauche d’une largeur de décalage.

3

>>

Décale la ligne actuelle vers la droite d’une largeur de décalage.

4

~

Change la casse du caractère sous le curseur.

5

^G

Appuyez sur les touches Ctrl et G en même temps pour afficher le nom de fichier actuel et l’état.

6

U

Rétablit la ligne actuelle à l’état dans lequel elle était avant que le curseur n’entre dans la ligne.

7

u

Cela permet d’annuler la dernière modification qui a été faite dans le fichier. Taper ‘u’ à nouveau refait le changement.

8

J

Jointe la ligne actuelle avec la suivante. Un compte joint autant de lignes.

9

:f

Affiche la position actuelle dans le fichier en % et le nom du fichier, le nombre total de fichier.

10

:f nom de fichier

Renomme le fichier actuel en nom de fichier.

11

:w nom de fichier

Ecrit dans le fichier nom de fichier.

12 :e nom_fichier

Ouvre un autre fichier avec nom_fichier.

13 :cd dirname

Change le répertoire de travail actuel en dirname.

14

:e #

Change entre deux fichiers ouverts.

15

:n

Dans le cas où vous ouvrez plusieurs fichiers en utilisant vi, utilisez :n pour passer au fichier suivant dans la série.

16

:p

Dans le cas où vous ouvrez plusieurs fichiers en utilisant vi, utilisez :p pour aller au fichier précédent dans la série.

17

:N

Dans le cas où vous ouvrez plusieurs fichiers en utilisant vi, utilisez :N pour aller au fichier précédent dans la série.

18 :r fichier

Lit le fichier et l’insère après la ligne courante.

19

:nr fichier

Lit le fichier et l’insère après la ligne n.

Recherche de mots et de caractères

L’éditeur vi dispose de deux types de recherche : chaîne de caractères et caractère. Pour une recherche de chaîne de caractères, les commandes / et ? sont utilisées. Lorsque vous lancez ces commandes, la commande qui vient d’être tapée s’affiche sur la dernière ligne de l’écran, où vous tapez la chaîne de caractères particulière à rechercher.

Ces deux commandes ne diffèrent que par la direction dans laquelle la recherche s’effectue –

  • La commande / effectue une recherche vers l’avant (vers le bas) dans le fichier.

  • La commande ? effectue une recherche vers l’arrière (vers le haut) dans le fichier.

Les commandes n et N répètent la commande de recherche précédente dans le même sens ou dans le sens opposé, respectivement. Certains caractères ont une signification particulière. Ces caractères doivent être précédés d’une barre oblique inverse (\) pour être inclus dans l’expression de recherche.

Sr.No. Caractère &Description
1

^

Recherche au début de la ligne (Utilisation au début d’une expression de recherche).

2 Met en correspondance un seul caractère. 3

*

Met en correspondance zéro ou plus du caractère précédent.

4

Fin de ligne (Utilisation à la fin de l’expression de recherche).

5

[

Débute un ensemble d’expressions correspondantes ou non correspondantes.

6

<

Ceci est mis dans une expression échappée avec la barre oblique inverse pour trouver la fin ou le début d’un mot.

7

>

Cela aide à voir la description du caractère ‘<‘ ci-dessus.

La recherche de caractères effectue une recherche dans une ligne pour trouver un caractère saisi après la commande. Les commandes f et F recherchent un caractère sur la ligne en cours uniquement. f recherche en avant et F en arrière et le curseur se déplace à la position du caractère trouvé.

Les commandes t et T recherchent un caractère sur la ligne actuelle seulement, mais pour t, le curseur se déplace à la position avant le caractère, et T recherche la ligne en arrière jusqu’à la position après le caractère.

Commandes set

Vous pouvez changer l’apparence de votre écran vi en utilisant les commandes :set suivantes. Une fois que vous êtes en mode commande, tapez :set suivi de l’une des commandes suivantes.


Sr.No. Commande & Description
1

:set ic

Ignore la casse lors de la recherche

2

:set ai

Définit l’indentation automatique

3

:set noai

Désactive l’indentation automatique

4

:set nu

Affiche les lignes avec les numéros de ligne sur le côté gauche

5

:set sw

Définit la largeur d’un tabstop logiciel. Par exemple, vous définissez une largeur de tabulation de 4 avec cette commande – :set sw = 4

6

:set ws

Si wrapscan est défini, et que le mot n’est pas trouvé au bas du fichier, il essaiera de le chercher au début

7

:set wm

Si cette option a une valeur supérieure à zéro, l’éditeur fera automatiquement du « word wrap ». Par exemple, pour définir la marge d’enveloppement à deux caractères, vous taperez ceci : :set wm = 2

8

:set ro

Change le type de fichier en « lecture seule »

9

:set term

Imprime le type de terminal

10

:set bf

Rejeter les caractères de contrôle de l’entrée

Exécution de commandes

Le vi a la capacité d’exécuter des commandes depuis l’éditeur. Pour exécuter une commande, il suffit d’aller dans le mode commande et de taper : ! command.

Par exemple, si vous voulez vérifier si un fichier existe avant d’essayer d’enregistrer votre fichier avec ce nom de fichier, vous pouvez taper : ! ls et vous verrez la sortie de ls à l’écran.

Vous pouvez appuyer sur n’importe quelle touche (ou la séquence d’échappement de la commande) pour revenir à votre session vi.

Remplacer du texte

La commande de substitution (:s/) vous permet de remplacer rapidement des mots ou des groupes de mots dans vos fichiers. Voici la syntaxe pour remplacer du texte –

:s/search/replace/g

Le g signifie globalement. Le résultat de cette commande est que toutes les occurrences sur la ligne du curseur sont modifiées.

Points importants à noter

Les points suivants ajouteront à votre succès avec vi –

  • Vous devez être en mode commande pour utiliser les commandes. (Appuyez deux fois sur Esc à tout moment pour vous assurer que vous êtes en mode commande.)

  • Vous devez être prudent avec les commandes. Celles-ci sont sensibles à la casse.

  • Vous devez être en mode insertion pour saisir du texte.

Publicités

.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *