Dernièrement, j'ai considérablement réduit le nombre de plugins que j'utilise, donc je cherche des réponses en utilisant uniquement les fonctionnalités Vim intégrées.
J'ai remarqué une faille dans mon flux de travail lorsque j'édite beaucoup de tampons: je suis sur un tampon et je veux passer à un autre dont je ne me souviens pas du nom et qui n'est pas le tampon alternatif . Il :b#
n'est donc pas possible d'utiliser l'achèvement avec la commande :b
.
Pour ce faire, je faisais ce qui suit:
- Première utilisation
:buffers
pour obtenir la liste des tampons ouverts - Rappelez-vous le numéro du tampon que je veux utiliser
- Appuyez Enterpour fermer la liste des tampons
- Utilisez
:bX
avecX
le numéro du tampon à utiliser.
Ce flux de travail m'a semblé assez lourd, j'ai donc ajouté les lignes suivantes à mon
.vimrc
:
" Improve the navigation in the buffers
nnoremap <Leader><S-b> :B<CR>
command! B call Buffers()
function! Buffers()
execute "buffers"
let buffer=input("Enter a buffer:")
execute "b" . buffer
endfunction
Cela me donne une commande :B
(et un mappage) qui appelle la fonction :buffers
attendre une entrée et enfin appelle :b
suivie de l'entrée.
Cela fonctionne bien, mais je suis surpris d'avoir dû développer une telle fonction: généralement, Vim a un flux de travail par défaut assez efficace, donc je me demande s'il y a une meilleure façon de passer à un tampon dont je ne sais rien sauf qu'il a déjà été ouvert dans ma session d'édition.
:b#
n'est pas ce que je recherche, mais oui, le fait que vous pouvez enregistrer une frappe en entrant directement :b
sans appuyer sur enter
avant est intéressant. (En effet c'est peut-être trop léger pour être une réponse, mais ça valait un commentaire :-))
#
caractère comme un remplaçant pour un nombre (tampon), plutôt que le #
caractère littéral .
:ls
ensuite:b#
(je n'ai pas besoin d'appuyer sur retour ou de m'échapper d'abord, je peux aller directement à partir de la liste des tampons dans 'ls'). manque quelque chose et répond à la mauvaise question.)