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 ibufferSetelah 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-modedalam 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 ibufferuntuk auto-revert-mode. Ini dapat dicapai dengan mendefinisikan buffer-stale-functionbagi mereka penyangga. Dapat diperdebatkan, karena buffer-menumendukung fitur itu, akan lebih baik untuk memilikinya di hulu ibufferjuga, 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 ibuffersudah melakukannya (disetel ke ibuffer-update)
ibuffer-auto-mode?
auto-revert-modemenggunakan timer, dan ibuffer-auto-modemenggunakan post-command-hook, jadi ada perbedaan yang jelas ; tetapi begitu saja saya tidak bisa mengatakan apakah yang satu lebih disukai dari yang lain.
ibufferbuffer berperilaku seperti orang lain ketika datang untuk menyegarkan konten usang terasa lebih bersih bagi saya. Juga, saya biasanya tidak suka menyalahgunakan post-command-hookcara 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 ibufferbuffer terlihat atau tidak.
(setq auto-revert-verbose nil), berpotensi lokal