Les buffers (ou tampons) sont des espaces mémoires distincts utilisés par vim pour contenir le texte en cours d’édition. Les fenêtres, les onglets sont des vues associées à un buffer. Un même buffer peut être présenté par différents fenêtres/onglets.
L'utilisateur dispose de:
Si on exécute vim en fournissant plusieurs noms de fichiers en argument, un tampon est créé pour chaque fichier à éditer.
vim f1.txt f2.txt f3.txt
En mode commande, :ls
permet de lister les tampons existants et les informations associées:
:ls
1 %a "vehicule.py" ligne 24
Dans cet exemple, un seul buffer existe (index 1), il est rempli par le contenu du fichier vehicule.py, la position du curseur est indiquée ( ligne 24).
:set nomodifiable
Plusieurs commandes vont aboutir à la création d'un nouveau buffer:
:e test.csv
La commande suivante permet d’éditer un fichier nommé test.csv. Ce fichier n'existant pas, un buffer vide est créé et affiché par la fenêtre courante:
:ls
Pour que la fenêtre active affiche un autre buffer, on peut utiliser les commandes:
:vertical
l'aide :help :ls
détaille exhaustivement les caractères décrivant l'état des buffers:
% | Le buffer affiché par la fenêtre courante. |
---|---|
# | Le buffer récupéré par la commande :e # |
La commande :bd ou :bdelete permet de supprimer un buffer.
En plus des buffers par défaut utiliser par les commandes de copie, suppression par exemple, l'utilisateur peut créer des buffers nommés, par exemple pour copier le contenu de la ligne sous le curseur dans un buffer nommé x on tapera en mode normal:
"xyy
Ici on supprime les 3 lignes sous le curseur et on les place dans le buffer t:
"t3dd
On peut écrire le contenu d'un buffer dans un fichier