Chargement en cours...
Connexion au forum informatique de Sur-la-Toile
La discussion « [Tutoriel] L'éditeur vi !  » se trouve dans le forum « Tutoriels »
Statut de la discussion » [Tutoriel] L'éditeur vi !  « ( normale)

[Tutoriel] L'éditeur vi !

» Liste des Forums » Tutoriels » Discussion

Le 27-10-2007 à 12:23 #

Si vous avez des questions en rapport avec le tutoriel n'hésiter pas à les posez ici, ou en me contactant par MP

Dans ce tutoriel :



  • Présentation de vi
  • Utilisation de vi
  • Résumer des commandes vi


I.Présentation de vi :


Qu'est-ce que "vi" ?

- "vi" (prononcez vi-aï) est un éditeur de texte standard !, Il est très utile de connaître son fonctionnement, car il est présent sur toutes les plates-formes UNIX .
Par conséquent, lorsque vous connaissez vi, vous pouvez l'utiliser sur tout les système UNIX ! C'est pas génial sa ?!
Est en plus, il monopolise très peu de ressources pour s'exécuter; vous pouvez donc l'employer quand d'autres programmes fonctionnent !

Pourquoi utiliser "vi" ?


- Quelquefois, "vi" est le seul éditeur disponible au moment crucial; par conséquent, vous devez absolument connaître ses fonctionnalités essentielles !
De plus il est très pratique et avantageux de stocker des séquences de commandes ou des scripts shell dans un fichier. Vous aurez sûrement besoin de créer des données, e-mail, listes, notes informations, etc. ; pour cela vous utiliserez un éditeur de texte !
Ce tutoriel n'est pas exhaustif, ici vous apprendrez juste à réaliser les travaux d'édition indispensables.


II.Utilisation de vi


Les deux modes de vi :

Vi possède deux mode :
- Le mode commande, c'est sur celui-ci que ce porte 99% du tutoriel !
"vi" interprète alors ce que vous tapez comme des instructions (des commandes).
Exemple : enregistre un fichier, quitter vi, déplacer le curseur, modifier, supprimer, remplacer, chercher du texte, etc ...

- Le mode insertion, dont les 1% qui reste, sert uniquement pour la saisi du texte.

Comment utiliser ses deux modes ?


Vous verrez qu'il est très simple de passer d'un mode à l'autre ; pour basculer en mode insertion il suffira d'appuyer sur les touches a ou i, et appuyer su Echap pour revenir en mode commande .


a. Créer un fichier texte avec vi :


1. Ouvrez un terminal (ligne de commande) ; sous Linux un terminal ressemble à ceci :


Cliquez pour agrandir

2. à l'invite de commande tapez : vi (Un écran comprenant une colonne remplie de tildes s'affiche ; par défaut vous êtes en mode commande.

3. Maintenant il faut passer en mode insertion ; comme je vous les dit plus haut il existe alors deux commandes :

- a pour insérer du texte après le curseur.
- i pour insérer du texte devant le curseur.

Pour l'instant il n'est pas important de choisir entre "a" ou "i" puisque qu'aucune ligne de texte n'a encore était taper, appuyer sur une des deux touches, et n'appuyer pas sur entrée. Vous pouvez maintenant inséré des caractères sur cette première ligne.

4. Tapez quelques lignes de texte au tampon :

Code:
  1.   Emploi du temps pour aujourd'hui.
  2.   a. Pratique de vi


    5. Passez du mode insertion au mode commande en appuyant sur la touche Echap.

    Remarque : Si vous appuyer plusieurs fois sur la touche Echap, votre système émettra un signal sonore ; ce qui signifie que vous êtes déjà en mode commande.

    6. Enregistrez alors votre tampon dans un fichier appelé test1 en tapant ": w test1" suivi de la touche Entrée :

    Code:
    1.   : w test1


      Les caractères ": w test1" apparaissent alors sur la ligne du bas de l'écran terminal (ligne d'état). Puis la ligne d'état confirme votre action en affichant :

      Code:
      1.   "test1" [New File] 2 lines, 53 characters written

        Ceci indique que le fichier "test1" contient 2 lignes et 53 caractères.

        7. Quittez vi en tapant ":q" suivi de la touche Entrée :

        Code:
        1.   :q


          Vous êtes alors revenues à l'invite du shell d'ouverture de session :


          Cliquez pour agrandir


          Voici les points à retenir avant d'aborder la suite :


          • Pour passer du mode commande au mode insertion, appuyer sur a (pour ajouter du texte)ou sur i (pour l'insérer).
          • Pour passer du mode insertion au mode commande, appuyer sur Echap.
          • Pour transmettre des instructions à vi, il faut obligatoirement être en mode commande.


          b.Lancer vi avec un fichier :


          1. Ouvrez un terminal (ligne de commande)

          2. à l'invite de commande tapez "vi test1" :

          Code:
          1.   vi test1


            c.Quitter vi


            Il existe plusieurs façons de quitter vi, seul chose à ne pas oublier ; il faut toujours être en mode commande pour quitter vi, souvenez vous que pour être en mode commande il faut appuyer sur la touche Echap (si vous y êtes déjà le terminal émet un bip sans conséquence).

            La commande ":q" :

            La commande ":q" quitte le tampon, si il n'a subi aucune modification.
            Exemple :

            1. Ouvrir le fichier test1 (se rapporter au "b.Lancer vi avec un fichier"), sans effectuer de modification.

            2.Utiliser la commande ":q" pour quitter vi (il faut êtes en mode commande, pour vérifier appuyer sur Echap) :

            Code:
            1.   :q


              La commande ":q!"

              La commande ":q!" ressemble beaucoup à la commande ":q", sauf que celle-ci quitte et abandonne toutes les modifications du tampon depuis sa dernière sauvegarde.

              1. Ouvrir le fichier test1 (se rapporter au "b.Lancer vi avec un fichier").

              2. Éditer le fichier en basculant vers le mode insertion (touche a ou i); exemple :

              Code:
              1.   Emploi du temps pour aujourd'hui.
              2.   a. Pratique de vi
              3.   b. j'aime la choucroute bien fraîche


                3. Utiliser la commande ":q!" suivi de la touche "Entrée" pour quitter vi sans enregistré les modification; pour cela il faut revenir en mode commande (appuyer sur Echap pour basculer en mode commande) :

                Code:
                1.   :q!


                  Utiliser la commande ":q!" avec modération. Lorsque vous entrez ":q!", tout les changement effectués sont perdus.

                  La commande ":wq" :

                  La commande ":wq" sauvegarde le tampon dans le fichier de travail avant de sortir.
                  Exemple :

                  1. Ouvrez le fichier test1 (se rapporter au "b.Lancer vi avec un fichier").

                  2. Éditer le fichier en basculant vers le mode insertion (touche a ou i); exemple :

                  Code:
                  1.   Emploi du temps pour aujourd'hui.
                  2.   a. Pratique de vi
                  3.   b. j'aime la choucroute bien fraîche


                    3. Revenir en mode commande en appuyant sur Echap et utiliser ":wq" pour enregistrer les modifications et quitter vi :

                    Code:
                    1.   :wq


                      Il existe les commande ":x" et "ZZ" qui ont le même effet que la commande ":wq"


                      Résumer des méthodes pour quitter vi :


                      • :q quitte vi si le tampon n'a subi aucune modification.
                      • :q! quitte vi et abandonne toutes les modifications du tampon depuis sa dernière sauvegarde.
                      • :wq, :x ou ZZ Sauvegarde le tampon dans le fichier de travail avant de sortir.


                      d.Annuler une commande :


                      Il existe la commande "u" (undo) pour annuler vos actions ou modificationsrécentes sur le tampon, seulement si vous ne les avait pas enregistrées dans le fichier.
                      Exemple :

                      1. Ouvrez le fichier test1 (se rapporter au "b.Lancer vi avec un fichier").

                      2. Éditer le fichier en basculant vers le mode insertion (touche a ou i); exemple :

                      Code:
                      1.   Emploi du temps pour aujourd'hui.
                      2.   a. Pratique de vi pendant 60 minutes
                      3.   b. j'aime la choucroute bien fraîche


                        3. Finalement pratiquez "vi" pendant 60 minutes n'est peut-être pas une très bonne idée . Basculer donc en mode commande à l'aide de la touche Echap, puis utiliser la commaande "u" :

                        Code:
                        1.   u


                          "Pendant 60 minutes" à disparue !

                          4. Finalement pratiquez vi pendant 60 minutes était peut-être pas une si mauvaise idée , Normalement vous êtes déjà en mode commande (Appuyer sur Echap pour vérifié), appuyer une nouvelle fois sur "u" :

                          Code:
                          1.   u


                            Est voila, "Pendant 60 minutes est revenue !
                            A vous de décider si vous pratiquez ou non "vi" peandant 60 minutes .
                            Infos : Vous pouvez utilisez la commande "u" autant de fois que vous le désirez !!

                            e.Ecrire dans un fichier, et enregistrer le tampon :


                            Commandes pour enregistrer et écrire un fichier :

                            • :w écris le tampon (enregistre) dans le fichier que "vi" est en train d'éditer.
                            • :w nomfichier écris le tampon (enregistre) dans le fichier nommé.
                            • :w! impose à vi d'écraser le fichier existant.


                            Enregistrer un nouveau fichier :

                            Si vous lançer "vi" sans spécifier un de fichier, vous devez en fournir un pour sauvegarder le fichier. Dans ce cas la commande à utiliser (en mode commande) est ":w fichier" :

                            Code:
                            1.   :w fichier


                              Si le non que vous avez spécifier correspond à celui d'un fichier existant, un message apparaît sur la ligne d'état :

                              Code:
                              1.   File exists - use "w! fichier" to overwrite.


                                Enregistrer le fichier courant :

                                Si vous avez lancé "vi" avec un fichier existant, vous lui avez apporté quelques modifications, et vous souhaitez enregistrer les changements sur le fichier d'origine : il suffit simplement d'utiliser la commande ":w" :

                                Code:
                                1.   :w


                                  Conseille : Enregistrez régulièrement les modifications dans vos fichiers.

                                  Enregistrer sous un nouveau nom :


                                  Si vous avez lancer "vi" avec le fichier test1 par exemple, et que vous lui avez apportez quelques modifications ; vous souhaitez l'enregistre dans un nouveau fichier test2, sans supprimer pour autant le fichier test1, vous utiliserz alors la commande ":w test2" :

                                  Code:
                                  1.   :w test2


                                    Remplacer un fichier :

                                    Comme je vous les d'écrit plus haut, si vous tentez d'enregistrer le tampon dans un fichier existant différent de celui avec lequel vous avez commencé à travaillier, "vi" affiche le message suivant :

                                    Code:
                                    1.   File exists - use "w! fichier" to overwrite.


                                      Mais si vous souhaitez vraiment écrasez le fichier (ATTENTION déconseiller), vous devrez utilisez la commande "w! fichier_existant" :

                                      Code:
                                      1.   :w! fichier_existant


                                        f.Déplacer le curseur :


                                        Les commandes que vous entre pour sélectionner la position du curseur sont appelées commandes de positionnement

                                        Touches de direction :

                                        Dans la plupart de système, vous pouvez utilisez les touches fléchées pour déplacer le curseur, n'hésiter pas à observez leurs effet dans un fichier vi.
                                        Les touches Page UP et Page Down sont aussi très interessante.
                                        Exemple :

                                        1. Créer un fichier contenant la liste des fichiers et répertoires, du répertoire usr, pour ce faire entrez "ls /usr >> test3" à l'invite du shell :

                                        Code:
                                        1.   ls /usr >> test3


                                          2. une fois le fichier créer lancer vi avec le test3 :

                                          Code:
                                          1.   vi test3


                                            3. Essayer à présent d'utiliser les flèches, Page Up et Page Down (Vérifier si vous êtes bien en mode commande)

                                            Autres touche de déplacement du curseur :

                                            Lorsque vi a été développé , beaucoup de claviers était dépourvus des flèches. D'autre touches était (est sont toujours) alors utiliser !

                                            Infos : Il faut faut un peu de pratique pour se sentir à l'aise avec ces touches (Ne vous inquiétez pas je suis toujours la ), sachez aussi que certaines personnes expérimentés de vi, les préfèrent aux flèches.

                                            Voici quelques-unes de ces touches :

                                            • Barre d'espace et, ou l : déplce le curseur d'une position vers la droite.
                                            • Entrée et, ou + : permet de ce rendre au début de la ligne suivante; il existe aussi la touche j pour décendre d'une ligne toute en conservant la position du curseur dans la ligne.
                                            • Le signe - : permet de revenir au début de la ligne précédente; il existe aussi la touche k pour remonter d'une ligne toute en conservant la position du curseur dans la ligne.
                                            • La touche h : déplace le curseur d'un caractère vers la gauche.
                                            • La touche 0 (zéro) : permet d'aller au début d'une ligne.
                                            • La touche $ : permet d'aller en fin de ligne.


                                            N'hésiter surtout pas à tester toute ces touches !

                                            Touches de positionnement par rapport aux mots d'une ligne :

                                            Certaine commande de positionnement permette de déplacer le curseur par rapport aux d'une ligne, c'es commande sont :

                                            • w : avance d'un mot. (ne pas confondre avec la touche d'enregistrement ":w")
                                            • b : déplace le curseur au début du mot courant.
                                            • e : déplace le curseur à la fin du mot courant.


                                            Touche de déplacement rapide :

                                            Pour déplacer le curseur en haut, au milieu et en bas de l'écran, il existe des commande de positionnement rapide :

                                            • Maj+h : permet de ce rendre directement à la première ligne de l'écran (position de départ).
                                            • Maj+m : permet d'atteindre la ligne qui ce trouve au milieu des lignes affichées.
                                            • Maj+l : permet d'atteindre la dernière ligne à l'écran.


                                            Commande de défilement :

                                            Pour éviter de vous déplacer à travers un fichier écran par écran, on n'utilise les commandes de défilement :

                                            • Ctrl+f : vous fait avancez d'un écran.
                                            • Ctrl+b vous fait reculer d'un écran.
                                            • Maj+g : permet de vous rendre rapidement à la dernière ligne d'un fichier.
                                            • 1+Maj+g : permet de remonter jusqu'à la première ligne du fichier (En fait, pour vous déplacer vers une ligne spécifique du fichier, tapez le numéro de la linge avant d'appuyer sur Maj+g ; exemple, pour atteindre la ligne 35 du fichier appuyer sur 3+5+Maj+g.)


                                            Conseil : Prenez un peu de temps pour vous exercer à positionner le curseur en utilisant les commandes décrites.N'oubliez pas que vous devez êtes toujours en mode commande pour les utiliser; pour vérifier que vous êtes bien en mode commande appuyer sur Echap.

                                            g.Insérer du texte :


                                            Comme je vous les déjà dit, pour inséré du texte il faut être en mode insertion; pour passer du mode commande au mode insertion utiliser les commande suivante : (ces commande doivent être taper en mode commande; Echap )

                                            • a : ajoute du texte après le curseur.
                                            • i : insére du texte devant le curseur.
                                            • Maj+a : ajoute du texte à la fin de la ligne courante
                                            • Maj+i : insère du texte au début de la ligne courante.
                                            • o (la lettre o) : créé une ligne vide en dessous de la ligne courante (ligne au est positionner le curseur).
                                            • Maj+o : créé une ligne vide au-dessus de la ligne courante (ligne au est positionner le curseur).


                                            Est voila !; vous remarquez sans doute que je ne mais plus d'exemple ... je vous pense capable, maintenant de tester tout seul les commandes , cela dit si vous avez toujours des problèmes n'hésites pas à posez vos questions sur le forum, ou en me contactant par mail : toldo.mu@gmail.com

                                            h.Effacer du texte :


                                            Il arrive ou vous en faîtes toujours trop dans vos écrits!, mais ne vous inquiètez pas, avec vi, vous avez la possibilité d'éffacer un caractère, un mot, plusieurs mots consécutifs, tout le texte jusqu'à la fin d'une ligne, ou encore une ligne entière. Voici la liste des commandes de suppression de texte :

                                            • x : efface le cractère qui ce trouve à la position du curseur.
                                            • dw : efface le mot courant à partir de la position de votre curseur jusqu'au début du prochain mot.
                                            • d$ : efface à partir du curseur jusqu'à la fin de ligne.
                                            • Maj+d : c'est pareil que d$; efface le reste de la ligne courante.
                                            • dd : efface complètement la ligne courante, sans ce souciès de la position du curseur.


                                            Infos : En tapant un nombre entier avant la commande, vous pouvez l'appliquer à plussieurs objets (cractères, mot, ou lignes).
                                            Exemple : 4x efface quatre cractères; 3dw efface trois mots; 8dd efface huit lignes.

                                            Astuce : Pour que vi affiche les numéros de ligne, appuyer sur Echap pour passer en mode commande, et tapez ":se number" :

                                            Code:
                                            1.   :se number


                                              Pour supprimer l'affichage des numéros de ligne tapez ":se nonumber" :

                                              Code:
                                              1.   :se nonumber


                                                i.Rechercher du texte :


                                                Pas besoin de détaillier; je vous affiche directement les commandes de recherche : (Vous êtes des grands maintenant )

                                                • /recherche : recherche en avançant dans le fichier (vers la droite).
                                                • ?recherche : recherche en reculant dans le fichier (vers la gauche).
                                                • n : reprend la recherche dans la direction courante.
                                                • Maj+n : reprend la recherche dans la direction opposée.


                                                j. Modifier ou remplacer du texte :


                                                Les commandes de modification de "vi" vous permettent de modifier un mot ou le reste d'une ligne.
                                                Les commandes de remplacement, eux, vous permettent de changer ou de modifier un caractères :

                                                • r : remplace un seul caractères.
                                                • Maj+r : remplace une suite de caractères.
                                                • cw : modifie un mot (en partant de la droite).
                                                • ce : pareil que "cw"; modifie un mot (en partant de la droite).
                                                • cb : modifie un mot (en partant de la gauche).
                                                • c$ : modifie une ligne à partir de la position du curseur j'usqu'a la fin de la ligne.
                                                • Maj+c : pareil que "c$".
                                                • cc : modifie la ligne entière.


                                                Info : pour modifier plusieurs mots, utilisez un nombre entier (qui représentera le nombre de mots à changer) devant la commande "cw"; le nombre de mots ainsi spécifié est supprimé et vous repassez en mode insertion.

                                                k.Copier, couper et coller du texte :


                                                Le tampon temporaire, coupez et coller du texte :

                                                Lorsque vous effacez ou coupez des cractères, des mots, des lignes ou plussieurs lignes, l'objet supprimé est sauvegardé dans un tampon temporaire.Pour coller le texte contenu dans le tampon temporaire, nous allons utilisez les commande "p" et "Maj+p" :

                                                • p : colle le texte à droite du curseur.
                                                • Maj+p : colle le texte à gauche du curseur.


                                                Exemple :

                                                1. Créé un nouveaux fichier :

                                                Code:
                                                1.   vi test4


                                                  2. Inséré du texte dans ce fichier (pour cela il faut passez en mode insertion à l'aide de la touche i ou a) :

                                                  Code:
                                                  1.   Suivez ces soigneusement instructions.


                                                    3. Positionner le curseur sur le "c" de "ces"; effacez "ces" et l'espace en appuyant sur dw.

                                                    4. Maintenant, déplacez le curseur sur l'espace se trouvant après le"t" de "soigneusement" et appuyez sur p; normalement vous devrez avoir ceci :

                                                    Code:
                                                    1.   Suivez soigneusement ces instructions.


                                                      5. Faîte la même opération, mais cette fois avec la commande "Maj+p".

                                                      Astuce : pour inverser l'ordre de deux caractères utilisez la commande "xp".

                                                      Copier du texte :

                                                      Les exemples précédents, je vous est montrez comment coupez (en supprimant), puis comment coller; maintenant je vous montrez les commande pour copier du texte. Les commande de collage non pas changer ...

                                                      • yw : copie un mot.
                                                      • y$ : copie tout depuis la position du curseur jusqu'à la fin de la ligne.
                                                      • Maj+y : pareil que "y$"
                                                      • yy : copie toute la ligne.


                                                      Est voilà c'est la fin de cette deuxième partie , j'espère qu'a lavenir vous aprenderez à utilisez "vi" plus souvent, en espérant que vous avez tirez un bon enseignement de ce tuto .

                                                      III.
                                                      Résumé des commandes de vi :


                                                      Je vous est préparer une liste qui résume toutes les commande "vi" vu dans ce tutoriel, pour télécharger cette liste cliquez sur le lien suivant http://www.megaupload.com/?d=VIPGU2Y0

                                                      Si vous avez des questions en rapport avec le tutoriel n'hésiter pas à les posez ici, ou en me contactant par MP

                                                      Au revoir ...

                                                      Toldo


                                                      [ Ce message a été modifié par : : Toldo le 05-11-2007 17:26 ]

                                                      Le 27-10-2007 à 15:48 #

                                                      +1 pour ce tuto.

                                                      Vi m'a bien sauvé la vie (Jeu de mot BY JOJO ...)
                                                      X.org plantait suite à une installe des pilotes proprio ATI foirée, j'avais accès qu'à la console, j'ai pû modifier le xorg.conf pour me remettre les pilotes par défault et j'ai pû reconfigurer le tout !

                                                      M'enfin bref, merçi.
                                                      Mais ... Pourquoi ne pas utiliser un éditeur de texte avec une interface ? Vi est dur à manier au début (Certe ce tuto est là pour ça) et les éditeurs de texte en interface sont mieux (Gestion des tabulations pour certains, colorisationn syntaxique pour les codes, ect ...)
                                                      --> Gedit, Kate et Kwrite sont des références sous Linux.

                                                      [ Ce message a été modifié par : : jojo930 le 27-10-2007 15:52 ]

                                                      Le 27-10-2007 à 16:09 #

                                                      Salut jojo,

                                                      Content de te revoir !

                                                      Certes oui les éditeurs de texte graphique sont beaucoup mieux, mais la n'est pas l'objectif de ce tuto !
                                                      Comme je les dit, Il arrive parfois ou vi est le seul éditeur disponible au moment crucial, il est donc préférable de connaître ses fonctionnalités essentielles ...
                                                      De plus il fait partie de l'environnement UNIX standard, des millions d'utilisateurs ont appris à connaître son fonctionnement, et à l'utiliser à des niveaux divers.
                                                      Bref avec un peu de pratique, on trouvent "vi" extrêmement commode pour éditées les fichiers ASCII sous Linux, spécialement les fichiers de configuration et les scripts shell.

                                                      Toldo

                                                      [ Ce message a été modifié par : : Toldo le 27-10-2007 16:10 ]
                                                      » Liste des Forums » Tutoriels

                                                      Sujets Connexes

                                                      Arakien & WéWé


                                                      Forums

                                                      Navigation


                                                      Publicité

                                                      Connectés

                                                      Il y a actuellement 86 visiteurs et 1 toilien en ligne.

                                                      Recherche

                                                      Concours


                                                      Sauf mention contraire, le contenu du blog et du forum est sous licence Creative Commons By-Sa. Vous avez le droit de le reproduire à condition de citer l'auteur, de faire un lien vers la page d'origine, et de partager vos travaux dérivés selon les mêmes conditions.

                                                      Conditions d'utilisation -

                                                      Partenaires: [Informatique Multimédia] [Portail du Maroc] [Actualité High Tech]
                                                      [Tutoriaux Photoshop] [éligibilité ADSL] [Astuces Windows]

                                                      Page générée en 162 millisecondes sur WWW1.