Editer plusieurs fichiers

Vim permet bien évidemment d’ouvrir plusieurs fichiers simultanément. Il est pour cela nécessaire de connaître les commandes élementaires permettant de manipuler les buffers.

La commande :e nom_du_fichier.txt ouvre le fichier spécifié.
Comme déjà expliqué dans les premiers articles, lorsque vous basculez d’un fichier à un autre (via la commande :next par exemple), vim vérifie que les dernières modifications sont enregistrées (sur disque !).

Vous pouvez cependant vouloir basculer sur un autre buffer sans pour autant enregistrer les modifications du fichier courant.
Il faut pour cela masquer le fichier courant via la commande :hide edit autre_fichier.txt par exemple.
Ce qui suit :hide est la commande exécutée juste après. En l’occurrence il s’agit d’éditer le nouveau fichier autre_fichier.txt.

Il est possible de cacher automatiquement les fichiers par défaut en positionnant l’option hidden via :set hidden.

Nous allons désormais manipuler les fameux buffers.
Tout d’abord, si l’on a deux fichiers ouverts et que l’on tape la commande :buffers, la liste des buffers apparait de la manière suivante :
Liste des buffers

On observe dans l’ordre : le numéro de buffer, les drapeaux, le nom du fichier, le numéro de ligne où se trouvait le curseur lors de la dernière édition.

Voici le détail des flags avec leur signification :

        u       Tampon non-listé |unlisted-buffer|.
         %      Tampon courant.
         #      Tampon alternatif.
          l     Tampon chargé et affiché.
          h     Tampon chargé mais caché.
           =    Tampon en lecture seule.
           -    Tampon non modifiable, l'option 'modifiable' est désactivée.
            +   Tampon modifié.

Pour basculer vers un autre tampon, la commande :buffer 2 permet de passer à l’édition du tampon n°2 (test2.txt). Il est aussi possible de taper, à la place du numéro de buffer, une partie du nom du fichier. Vim tentera de retrouver le fichier correspondant.

La commande :sbuffer 1 quant à elle permet d’ouvrir le buffer dans une nouvelle fenêtre. Nous découvrirons plus tard la gestion des fenêtres.

Voici la liste des commandes de manipulation des buffers :

        :bnext          aller au tampon suivant
        :bprevious      aller au tampon précédent
        :bfirst         aller au premier tampon
        :blast          aller au dernier tampon
        :bdelete        supprime le tampon de la liste

Lorsque vous passez d’un buffer à un autre, vous pourrez préférer enregistrer automatiquement les modifications. Grâce à la commande :set autowrite, vim ne vous demandera plus d’enregistrer les changements.
Pour désactiver cette option, taper :set noautowrite

Laisser un commentaire