J'avais l'habitude d'éviter les tampons et les onglets parce que la terminologie confuse et les raccourcis clavier obscurs me rebutaient. Mais rassurez-vous, tout savoir sur les tampons, les fenêtres et les onglets a transformé mon utilisation de Vim. Je me demande maintenant comment j'ai pu travailler sans eux !
Premiers pas avec les tampons dans Vim
Tout d’abord, essayez de considérer un tampon comme un fichier ouvert. Vim vous permet d'ouvrir plusieurs fichiers à la fois, ce qui signifie que chacun dispose de son propre tampon ; vous pouvez basculer entre eux et en afficher plusieurs à la fois.
Vous avez probablement l'habitude de démarrer Vim comme ceci :
vi filename
Mais comme Vim se contente d’ouvrir plusieurs fichiers à la fois, vous pouvez également l’exécuter comme ceci :
vi foo bar hum
Vous pouvez utiliser l'extension du shell pour ouvrir plusieurs fichiers à la fois, par exemple : vim *.md. Avant, je paniquais quand je faisais cela accidentellement, mais maintenant je comprends les tampons et je sais que ce n'est pas un problème !
Avec plusieurs tampons ouverts, vous pouvez afficher leurs noms en utilisant le :tampons commande:
Vim répertorie chaque tampon en bas de l'écran, accompagné d'un numéro permettant de l'identifier et de quelques informations supplémentaires. Le tampon actuel (actif) est marqué d'un symbole %. Vous pouvez également utiliser :args pour lister les tampons :
Cette commande affiche les arguments de nom de fichier que vous avez transmis à vi et met celui actuel entre parenthèses. C'est idéal pour un petit nombre de fichiers avec des chemins courts, mais cela peut devenir assez écrasant autrement !
Le :args La commande affichera uniquement les tampons que vous avez créés lors du démarrage de Vim ; il n'affichera plus les fichiers que vous avez ouverts dans les tampons après cela.
Avec plusieurs tampons ouverts, vous pouvez éditer et enregistrer des fichiers indépendamment. Pour la plupart, Vim fonctionne avec les tampons de la même manière que vous travailleriez avec un seul fichier, vous pouvez donc toujours utiliser :w pour écrire le tampon actuel, :q pour quitter Vim, et ainsi de suite.
Pour l'instant, vous devrez également savoir comment changer de tampon. La commande la plus simple est :bnextqui passe au tampon suivant, en bouclant à la fin.
Au lieu de taper :bnextvous pouvez utiliser l'abréviation :bn. Comme beaucoup d’autres commandes vi, ces versions abrégées peuvent faire gagner beaucoup de temps. Si vous voyez une commande écrite comme :bn[ext]vous pouvez utiliser soit la version complète, soit son abréviation plus courte.
Techniques de tampon avancées
Vim propose de nombreuses commandes différentes liées aux tampons que vous pouvez utiliser pour affiner votre flux de travail. Le manuel intégré (:help) est une excellente source d'informations, si vous êtes à l'aise pour y naviguer. Sinon, cette aide-mémoire Vim est une autre excellente ressource.
Beaucoup de ces commandes vous permettent de parcourir les tampons de différentes manières ; par exemple, aux côtés du :bn commande, il y a :bp[revious] et :b[uffer]#. Ce dernier basculera vers le tampon portant le numéro #, par exemple : :b4.
Le :b[uffer] filename La commande basculera vers un tampon ouvert avec un nom correspondant. Vous n'êtes pas obligé d'utiliser le nom de fichier exact si ce que vous tapez est suffisant pour identifier sans ambiguïté un seul tampon, donc :b fo passera au tampon « foo » dans l’exemple ci-dessus.
Travailler avec trop de tampons peut devenir ingérable, mais vous pouvez en fermer un en utilisant le :bd[elete] commande. Rappelez-vous que :q[uit] ferme vim, pas seulement le tampon actif.
Si vous changez de tampon sans enregistrer, vous recevrez un message d'erreur : « E37 : Aucune écriture depuis la dernière modification (ajoutez ! pour remplacer). » Ceci est juste un rappel que vous devez enregistrer votre travail, mais vous pouvez garder les tampons non enregistrés ouverts et masquer ce message à l'avenir avec la commande :set hidden. Vim vous avertira toujours si vous essayez de quitter sans enregistrer.
Il est possible qu'aucun tampon ne soit ouvert, par exemple si vous démarrez Vim en tant que vim -c 'aide | seulement'. Cette commande utile ouvre le manuel de Vim dans une seule fenêtre, mais Vim ne la considère pas comme un tampon.
Fenêtres et onglets
Une fois que vous êtes familiarisé avec les tampons, vous pouvez commencer à réfléchir à la manière d’en afficher plusieurs à la fois et de les regrouper. Pour être clair, vous pouvez utiliser des tampons sans jamais vous approcher des fenêtres et des onglets, de la même manière que vous pouvez exécuter toutes les applications maximisées dans votre interface graphique. Tout est une question de préférence.
Les fenêtres Vim vous permettent de diviser l'écran et d'afficher plusieurs tampons en même temps. Ces pseudo-fenêtres fonctionnent un peu comme un gestionnaire de fenêtres en mosaïque : elles s'alignent les unes à côté des autres plutôt que de se chevaucher. Vous pouvez essayer la division horizontale par défaut en utilisant la commande :split:
Cela semble très déroutant au début car Vim ouvre votre tampon existant dans la nouvelle fenêtre, vous laissant avec le même contenu dans les deux fenêtres. Il s'agit bien du même tampon et, avant de continuer, vous pouvez le vérifier en modifiant l'un d'entre eux :
OK, donc ce n'est pas très utile avec un petit fichier, mais cela peut vous être utile lorsque vous travaillez sur différentes parties du même fichier. Pour l'instant, vous pouvez ouvrir un autre fichier dans votre fenêtre actuelle en utilisant :e filename:
Vous pouvez naviguer entre les fenêtres à l'aide de raccourcis à deux touches commençant par Ctrl-w. Par exemple, Ctrl-w w (maintenez Ctrl, appuyez sur w, relâchez les deux, puis appuyez sur w) pour passer à la fenêtre inférieure.
vim -o foo bar ouvre foo et bar dans des fenêtres séparées, divisées verticalement.
Les onglets constituent le regroupement de niveau supérieur proposé par Vim ; ce sont des collections de fenêtres. Vous ne pouvez afficher qu'un seul onglet à la fois, mais chaque onglet peut contenir un nombre illimité de fenêtres.
Le :tabe[dit] La commande ouvre un nouvel onglet et y bascule. Lorsque vous utilisez plusieurs onglets, Vim affichera une barre d'onglets minimale en haut, avec un nom reflétant le tampon actuellement actif.
Lorsque les onglets sont ouverts, vous pouvez naviguer entre eux en utilisant :tabn[ext] et :tabp[revious]. Fermez un onglet à l'aide du :tabc commande. N'oubliez pas que la fermeture d'un onglet ou d'une fenêtre ne ferme pas le tampon associé ; les tampons peuvent être détachés et rattachés comme bon vous semble.
vim -p foo bar ouvre foo et bar dans des onglets séparés.
Les tampons, les onglets et les fenêtres sont des fonctionnalités Vim très puissantes que beaucoup de gens négligent. Bien qu'il y ait beaucoup à apprendre au-delà de cet article, une fois que vous aurez commencé à vous familiariser avec ces concepts, vous devriez constater qu'une expérience d'édition beaucoup plus productive vous attend depuis le début.
Vous pouvez lire l’article original (en Angais) sur le sitewww.howtogeek.com