éditeur de texte




  1. Qu'est ce que vi

vi est un des éditeurs de textes les plus puissants...
Il n'est pas en mode graphique dans sa version standard (on en trouve des versions "améliorées" qui apportent souvent une interface graphique mais qui perdent souvent en fonctionnalités).
vi est donc très puissant, mais pourquoi ? Je vais ici présenter certaines de ses fonctionnalités, ainsi que ses raccourcis clavier les plus pratiques et les plus utiles.
La spécificité de vi réside essentiellement dans la possibilité de l'utiliser dans 2 modes différents : mode édition, mode commande.
  • Le mode édition permet de modifier le fichier, d'ajouter des caractères...
  • Le mode commande permet lui d'executer des commandes spécifiques (recherche de chaines, enregistrement...)


      2. Fonctionnement de base avec vi


    Voici le tableau des commandes de bases pour savoir se servir de vi. Juste après le tableau, il y a quelques explications qui peuvent vous être utile...
    Toutes ces commandes sont utilisées en mode commande, sauf si une précision est faite...

    Ouverture du fichier nom_fichier (shell) $ vi nom_fichier
    Ouverture des fichiers nom_fich* (shell) $ vi nom_fich*
    Passer en mode commande (commande ou édition) [Esc]
    Enregistrer le fichier en cours d'utilisation :w ou :w!
    Enregistrer le fichier en cours d'utilisation sous un nouveau nom :w nouveau_nom
    Quitter :q ou :q!
    Passer en mode insertion à l'endroit du curseur i
    Passer en mode insertion juste après le curseur a
    Passer en mode insertion à la fin de la ligne A
    Passer en mode insertion au début de la ligne I
    Aller à la fin de la ligne en restant en mode commande $
    Aller au début de la ligne en restant en mode commande 0
    Modifier le caractère sur lequel se trouve le curseur r
    Modifier tous les caractères jusqu'à appuie sur [Esc] R
    Effacer le caractère sur lequel se trouve le curseur x
    Effacer la ligne sur laquelle se trouve le curseur dd

    Comment marche le mode commande
    Après avoir taper sur la touche "Esc" de votre clavier, il vous suffit de taper la sequence de caractère qui vous intéresse. Par exemple, si vous voulez quitter vi, il vous suffit de taper sur ":q"

    A quoi sert le "!"
    Il permet de forcer une action. Par exemple, un fichier en lecture seule ne sera pas enregistré avec l'utilisation unique de :w, il faut alors utiliser :w!, et si vous pouvez enregistrer (par exemple si vous êtes root, ou le propriétaire du fichier), vous pourrez alors écrire dedans...

    Les majuscules et les minuscules n'ont pas la même signification



      3. Fonctionnement plus complexe avec vi



      3. 1. Fonctions de recherche / remplacement


    Rechercher un mot dans le fichier après le curseur (en avant) /mot_cherché
    Rechercher un mot dans le fichier avant le curseur (en arrière) ?mot_cherché
    Passer à l'occurence suivante dans le sens de la recherche n
    Revenir à l'occurence précédente dans le sens de la recherche p
    Remplacer l'expression "coucou" par "bonjour" de la ligne 12 à la ligne 18 :12,18 s/coucou/bonjour/g
    Remplacer l'expression "coucou" par "bonjour" dans tout le fichier :1,$ s/coucou/bonjour/g
    Remplacer l'expression "Test_1;" ou "Test_124;" par "Test_52" dans tout le fichier en utilisant les expressions régulières :%s/Test_[0-9]*;/Test_52;/g

    Subtilités
  • Passer à l'élément suivant dans la recherche (avec le "n") signifie aller plus loin dans le fichier avec une recherche vers l'avant, et remonter davantage avec une recherche en arrière.
  • On remarque que la dernière ligne du fichier porte la "valeur" "$"...


      3. 2. Effacement et modification

    Effacer le mot courant à partir de la position du curseur et passe en mode insertion cw
    Effacer le mot courant à partir de la position du curseur et reste en mode commande dw
    Effacer la fin de la ligne à partir de la position du curseur et passe en mode insertion SHIFT + c
    Effacer la fin de la ligne à partir de la position du curseur et reste en mode commande SHIFT + d
    Effacer la ligne courante et passe en insertion SHIFT + s
    Supprime la fin de ligne de la ligne courante et remonte la ligne suivant d'un cran SHIFT + j


      3. 3. Fonctions de copier/coller


    Dupliquer la ligne sur laquelle se trouve le curseur yyp
    Dupliquer n fois la ligne sur laquelle se trouve le curseur yyp
    Copier la ligne sur laquelle se trouve le curseur yy
    Couper la ligne sur laquelle se trouve le curseur dd
    Couper les n lignes à partir de celle ou se trouve le curseur ndd (ex: 5dd)
    Coller le tampon au dessus de la ligne courante,
    avant le caractère pour les mots
    P
    Coller le tampon en-dessous de la ligne courante,
    après le caractère pour les mots
    p



      3. 4. Fonctions de Déplacement

    Passer à la page suivante [Ctrl]+F
    Revenir à la page précédente [Ctrl]+B
    Aller à la dernière ligne du fichier G
    Aller à la n-ième ligne du fichier nG
    Aller à la première ligne du fichier (exemple) 1G
    Aller à la fin du mot, passer au mot suivant w
    Aller au début du mot, passer au mot précédent b



      3. 5. Fonctions diverses

    Annuler la dernière commande u
    Refaire la même opération (pratique pour l'ajout d'un caractère en début de plusieures lignes...) . (point)
    Faire +1 sur la première valeur numérique de la ligne courante CTRL + A
    Afficher les caractères masqués :set list
    Masquer les caractères masqués :set nolist



      4. Problèmes possible avec vi



      4. 1. Ouverture de fichier

    De manière à éviter l'ouverture multiple d'un même fichier sous "vi" simultanément, un fichier portant le même nom que le fichier ouvert, avec en plus un point "." devant son nom est ajouté. Ce fichier sert également de sauvegarde pour le fichier ouvert.
    Si vous avez planté alors que le fichier était en cours d'édition, vous n'avez qu'à supprimer ce fichier pour y avoir à nouveau accès.
    Cette vérification n'est pas toujours faite.


      4. 2. Appuie sur CTRL+S

    CTRL+S permettant souvent d'enregistrer dans la majorité des logiciels, il arrive qu'on appuie dessus par erreur. Sous unix, cette commande signifie en gros un "Stop". On se retrouve alors bloqué.
    Pour se débloquer, il suffit de faire un "CTRL+Q" qui repasse en mode standard, on retrouve donc la main !


      4. 3. Appuie sur SHIFT+Q

    L'appuie sur "SHIFT+Q" entraine une saise en mode commande dans vi. Le seul moyen pour ressortir de ce mode est de taper la commande "visual", juste après les ":". Ainsi, vous retournerez à l'utilisation correcte de "vi" !




    Page modifiée le : 26/10/2007
    Site modifié le : 14/09/2020


    Valid XHTML 1.0 Transitional

  •