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 ibufferUne 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-modedans 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 ibufferpour auto-revert-mode. Ceci peut être réalisé en définissant buffer-stale-functionpour ces tampons. Sans doute, puisque buffer-menuprend 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 ibufferdéjà (il est défini sur ibuffer-update)
ibuffer-auto-mode?
auto-revert-modeutilise des minuteries et ibuffer-auto-modeutilise 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.
ibuffertampons 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-hookcette 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 ibuffertampon soit visible ou non.
(setq auto-revert-verbose nil), potentiellement localement