M-x ibuffer
- Pilih penyangga
- Bunuh buffer itu
Setelah buffer terbunuh, buffer ibuffer kembali muncul, tetapi masih menunjukkan nama buffer yang terbunuh pada langkah 3.
Apakah mungkin membuat ibuffer me-refresh daftar buffer?
M-x ibuffer
Setelah buffer terbunuh, buffer ibuffer kembali muncul, tetapi masih menunjukkan nama buffer yang terbunuh pada langkah 3.
Apakah mungkin membuat ibuffer me-refresh daftar buffer?
Jawaban:
Menjalankan perintah ibuffer-auto-mode
dalam Buffer Buffer membuatnya menyegarkan tampilan setelah setiap perintah interaktif.
Tampaknya tidak ada cara langsung untuk mengaktifkannya secara otomatis. Anda dapat meletakkan ini di file init Anda:
(add-hook 'ibuffer-mode-hook (lambda () (ibuffer-auto-mode 1)))
ibuffer
, pilihan hilang.
Cara yang tepat untuk melakukannya adalah dengan memperkenalkan dukungan ibuffer
untuk auto-revert-mode
. Ini dapat dicapai dengan mendefinisikan buffer-stale-function
bagi mereka penyangga. Dapat diperdebatkan, karena buffer-menu
mendukung fitur itu, akan lebih baik untuk memilikinya di hulu ibuffer
juga, tetapi sepertinya tidak demikian untuk saat ini.
Bagaimanapun, inilah cara untuk melakukannya:
(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)
Catatan: secara umum, seseorang perlu mendefinisikan nilai untuk revert-buffer-function
, tetapi ibuffer
sudah melakukannya (disetel ke ibuffer-update
)
ibuffer-auto-mode
?
auto-revert-mode
menggunakan timer, dan ibuffer-auto-mode
menggunakan post-command-hook
, jadi ada perbedaan yang jelas ; tetapi begitu saja saya tidak bisa mengatakan apakah yang satu lebih disukai dari yang lain.
ibuffer
buffer berperilaku seperti orang lain ketika datang untuk menyegarkan konten usang terasa lebih bersih bagi saya. Juga, saya biasanya tidak suka menyalahgunakan post-command-hook
cara itu: itu benar-benar berlebihan ketika Anda melakukan sesuatu yang sama sekali tidak terkait dalam buffer. Akhirnya, jika beberapa jenis keystroke diperlukan untuk konten di-refresh, mungkin juga g
, yang merupakan cara eksplisit untuk memperbarui konten. Tapi memang, itu mungkin masalah filosofis :)
Reverting buffer `*Ibuffer*'.
. Pesan itu mengganggu karena terus mengganggu saya ketika saya bekerja di minibuffer. Pesan muncul apakah ibuffer
buffer terlihat atau tidak.
(setq auto-revert-verbose nil)
, berpotensi lokal