J'ai étudié plusieurs façons de maintenir une liste de tampons ouverts dans Vim, et certains d'entre eux sont très bons, mais aucun ne semble se comporter comme je le voudrais. Il est très possible que rien de ce que je veux n'existe, et ça ne fait pas de mal de demander.
J'utilise NERDTree dans GVim, et j'aime l'idée de mettre les informations dans une mince fenêtre de gauche. J'ai mis en place un diagramme pratique pour savoir à quoi je voudrais que mon environnement ressemble:
|--------|---------------------------------------|
| | |
| | |
|NERDTree| Windows |
| | |
| | |
| | |
|--------| |
| | |
| | |
| List | |
| of | |
| Open | |
| Buffers| |
| | |
| | |
|--------|---------------------------------------|
Ma question est donc la suivante: existe-t-il un moyen natif ou compatible avec les plugins pour gérer une liste des tampons actuellement ouverts et sélectionner / modifier / fermer à partir de cette liste, dans une fenêtre similaire à NERDTree?
Je comprends que cette approche peut être incongrue avec la façon de faire de Vim , et si vous sentez que je manque quelque chose sur la façon de gérer plusieurs fichiers dans une session Vim, veuillez laisser un commentaire avec des suggestions!
la source
Réponses:
Avez-vous recherché le référentiel de plugins de vim.org? Il existe des dizaines de plug-ins de commutation de tampons parmi lesquels vous pouvez choisir, comme BufferGator ou SelectBuf . Alternativement, la plupart d'entre eux sont compilés dans une belle liste sur le wiki Vim .
Comme vous l'avez mentionné dans la dernière partie de votre question, ce type de système n'est pas du goût de tout le monde.
Je déteste avoir tous ces menus, boutons et listes de ceci ou cela ouverts à tout moment: une liste de tampons ouverts n'est utile que lorsque vous avez réellement besoin de passer à un autre tampon, laisser une telle liste ouverte me semble être une perte d'espace . La même chose peut également être appliquée aux lignes d'état suralimentées.
J'utilise le même plugin pour basculer rapidement entre les tampons et explorer rapidement le système de fichiers autour du fichier que j'édite actuellement. Appelée avec
,f
(fichiers) ou,b
(tampons), la fenêtre disparaît lorsque j'ai terminé. Parfait. Il existe d' autres plugins similaires , essayez-les tous si vous aimez cette idée.MODIFIER
Je me sens obligé d'ajouter un GIF animé de CtrlP en action, en changeant de tampon:
ENDEDIT
Le natif
:sb <Tab>
est également assez soigné mais moins sexy. Il ne prend pas en charge la correspondance floue, mais il présente de gros avantages: il est intégré et fonctionne comme:e <Tab>
,:vs <Tab>
etc.la source
,b
pour rechercher des tampons avec ctrlp?nnoremap ,b :CtrlPBuffer<CR>
.Je peux fortement recommander le MiniBufExplorer . Voir aussi une alternative à minibufexplorer?
la source
MiniBufExplorer
est en haut (où il ne perd pas autant d'espace que sur la gauche). Ou peut-être que j'ai mal compris vos exigences.Il existe un moyen de faire exactement cela en utilisant le plugin winmanager . Dans cette capture d'écran, je combine les plug-ins NERDTree et MiniBufExpl (github: techlivezheng / vim-plugin-minibufexpl, le dernier commit atm 349a9fbb) sur le même split vertical et le bascule avec F4. En théorie, cette solution devrait fonctionner pour toute autre combinaison de plugins.
Exemple de mon .vimrc
Problèmes:
Le comportement que j'ai réalisé est loin d'être parfait mais c'est un bon début.
la source