J'ai un tas de fichiers texte dans un répertoire et je sais que je devrai les éditer individuellement.
Je commence à la ligne d'éloge avec
vim *.txt
qui ouvre les fichiers en tant que tampons séparés dans vim et me laisse regarder le premier. Je le modifie - puis j'utilise ': w' pour le sauvegarder et ': bd' pour fermer le tampon et passer au suivant.
Cette ': w: bd' pour enregistrer et fermer le tampon me semble longue, et je soupçonne qu'il existe une façon plus ninja vim de le faire - quelle est la méthode recommandée pour enregistrer et fermer le tampon sur lequel vous travaillez d'un seul coup?
:next
tampon et de tout écrire / fermer une fois votre tâche terminée:wqa
. Cela suppose que vous avez:set hidden
dans votre~/.vimrc
.Réponses:
Lors de la transmission des fichiers à Vim sur la ligne de commande, ils sont non seulement ouverts dans des tampons, mais remplissent également la liste des arguments . Par conséquent, vous pouvez utiliser des commandes comme
:next
et:first
pour les parcourir (et:argdo
pour le traitement par lots, ce qui peut être une astuce astucieuse). La commande que je recommande pour votre question est:wnext
(forme abrégée:wn
), qui:write
est le tampon actuel, puis passe à celle-:next
ci.Vous n'avez pas besoin de explicitement
:bdelete
un tampon, surtout pas lorsque vous lancez Vim à partir de la ligne de commande avec un ensemble de fichiers, puis quittez-le lorsque vous avez terminé. (Les seules exceptions auxquelles je peux penser sont le déchargement d'un énorme fichier pour économiser la mémoire système ou la réutilisation d'une seule instance GVIM pour de nombreuses modifications différentes.)Cependant, si vous le voulez vraiment, définissez simplement une commande personnalisée, par exemple
la source
:w|bd
.:next
cela a plus de sens dans certains cas.Bien que je suis d' accord que vous ne devez supprimer les tampons ouverts que vous n'êtes pas en train d' utiliser, je tiens à les supprimer parce que j'ai vim-compagnie aérienne la ligne onglet » activé, ce qui montre tous les tampons ouverts tout le temps en haut de la fenêtre. J'ai les éléments suivants dans mon
.vimrc
:qq
enregistre et ferme le tampon actuel, mais gâche également la fonctionnalité "macro d'enregistrement" de vim (avec laquelle je suis d'accord).la source
ZZ
vient à l'esprit, mais cela finit par enregistrer et quitter Vim entièrement, plutôt que de simplement supprimer le tampon. Les minusculeszz
peuvent être une alternative intéressante pour tous ceux qui trouvent les macros plus utiles que de centrer la vue sur la ligne de curseur actuelle.Q
, après avoir réalisé à quel point l'enregistrement dans Vim peut être précieux.