M-x ibuffer
- Sélectionnez un tampon
- Tuez ce tampon
Une fois le tampon tué, le tampon ibuffer réapparaît, mais il affiche toujours le nom du tampon tué à l'étape 3.
Est-il possible que ibuffer actualise automatiquement la liste des tampons?
M-x ibuffer
Une fois le tampon tué, le tampon ibuffer réapparaît, mais il affiche toujours le nom du tampon tué à l'étape 3.
Est-il possible que ibuffer actualise automatiquement la liste des tampons?
Réponses:
L'exécution de la commande ibuffer-auto-mode
dans un tampon Ibuffer permet d'actualiser l'affichage après chaque commande interactive.
Il ne semble pas y avoir de moyen direct de l'activer automatiquement. Vous pouvez mettre ceci dans votre fichier init:
(add-hook 'ibuffer-mode-hook (lambda () (ibuffer-auto-mode 1)))
ibuffer
, la sélection est perdue.
La bonne façon de le faire est d'introduire un support ibuffer
pour auto-revert-mode
. Ceci peut être réalisé en définissant buffer-stale-function
pour ces tampons. Sans doute, puisque buffer-menu
prend en charge cette fonctionnalité, il serait bon de l'avoir en amont ibuffer
également, mais cela ne semble pas être le cas pour l'instant.
Quoi qu'il en soit, voici une façon de le faire:
(defun my-ibuffer-stale-p (&optional noconfirm)
;; let's reuse the variable that's used for 'ibuffer-auto-mode
(frame-or-buffer-changed-p 'ibuffer-auto-buffers-changed))
(defun my-ibuffer-auto-revert-setup ()
(set (make-local-variable 'buffer-stale-function)
'my-ibuffer-stale-p)
(set (make-local-variable 'auto-revert-verbose) nil)
(auto-revert-mode 1))
(add-hook 'ibuffer-mode-hook 'my-ibuffer-auto-revert-setup)
Remarque: en général, il faudrait définir une valeur pour revert-buffer-function
, mais le fait ibuffer
déjà (il est défini sur ibuffer-update
)
ibuffer-auto-mode
?
auto-revert-mode
utilise des minuteries et ibuffer-auto-mode
utilise post-command-hook
, donc il y a une différence évidente ; mais je ne pouvais pas dire si l'un était préférable à l'autre.
ibuffer
tampons se comportent comme les autres lorsqu'il s'agit de rafraîchir du contenu obsolète me semble plus propre. De plus, je n'aime généralement pas abuser de post-command-hook
cette façon: c'est vraiment exagéré lorsque vous faites quelque chose de complètement indépendant du tampon. Enfin, si une sorte de frappe est nécessaire pour que le contenu soit actualisé, il pourrait tout aussi bien l'être g
, ce qui est le moyen explicite de mettre à jour le contenu. Mais d'accord, c'est probablement un problème philosophique :)
Reverting buffer `*Ibuffer*'.
Le message est intrusif car il continue de m'interrompre lorsque je travaille dans le mini-tampon. Le message s'affiche, que le ibuffer
tampon soit visible ou non.
(setq auto-revert-verbose nil)
, potentiellement localement