M-x ibuffer- Bir arabellek seçin
- O tamponu öldür
Tampon öldürüldükten sonra, tampon tamponu yeniden belirir, ancak yine de 3. adımda öldürülen tampon adını gösterir.
İbuffer'ın arabellek listesini otomatik olarak yenilemesini sağlamak mümkün mü?
M-x ibufferTampon öldürüldükten sonra, tampon tamponu yeniden belirir, ancak yine de 3. adımda öldürülen tampon adını gösterir.
İbuffer'ın arabellek listesini otomatik olarak yenilemesini sağlamak mümkün mü?
Yanıtlar:
Komutu ibuffer-auto-modebir Ibuffer arabelleğinde çalıştırmak, her etkileşimli komuttan sonra ekranı yenilemesini sağlar.
Otomatik olarak etkinleştirmenin doğrudan bir yolu yoktur. Bunu init dosyanıza koyabilirsiniz:
(add-hook 'ibuffer-mode-hook (lambda () (ibuffer-auto-mode 1)))
ibuffer, seçim kaybolur.
Bunu yapmak için doğru yolu destek tanıtmaktır ibufferiçin auto-revert-mode. Bu, buffer-stale-functionbu tamponları tanımlayarak elde edilebilir . Tartışmalı bir şekilde, bu buffer-menuözelliği desteklediğinden, onu yukarı akışa sahip olmak iyi olurdu ibuffer, ancak şimdilik böyle görünmüyor.
Her neyse, işte bunu yapmanın bir yolu:
(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)
Not: genel olarak, biri için bir değer tanımlamanız gerekir revert-buffer-function, ancak ibufferzaten bunu yapar (olarak ayarlanır ibuffer-update)
ibuffer-auto-mode?
auto-revert-modezamanlayıcılar ve kullanır ibuffer-auto-modekullanır post-command-hookbariz var, bu yüzden fark ; ama hazırlıksız birinin diğerine tercih olup olmadığını söyleyemedim.
ibuffereski içeriği yenilemek söz konusu olduğunda arabellekleri başkaları gibi davranmak bana daha temiz geliyor. Ayrıca, genellikle post-command-hookbu şekilde suistimal etmekten hoşlanmıyorum : tamponda tamamen alakasız bir şey yaptığınızda gerçekten aşırıya kaçıyor. Son olarak, içeriğin yenilenmesi için bir çeşit tuş vuruşu gerekiyorsa, içeriği ggüncellemenin açık yolu da bu olabilir . Ama kabul edildi, muhtemelen felsefi bir mesele :)
Reverting buffer `*Ibuffer*'. Mesaj müdahaleci çünkü minibuffer çalışırken beni kesintiye uğratmaya devam ediyor. ibufferArabelleğin görünür olup olmadığı mesajı görüntülenir .
(setq auto-revert-verbose nil), potansiyel olarak yerel olarak