Solusi yang diterima ini memecah seleksi dalam buffer lain. Ketika saya mengaktifkan hook itu, jika saya melakukan seleksi pada buffer apa pun, lalu memanggil ibuffer, pilihan hilang.
nephewtom
8
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.
Apakah ada alasan untuk lebih menyukai metode ini ibuffer-auto-mode?
nispio
1
Baik 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.
phils
4
@nispio Saya kira saya cenderung lebih suka solusi generik daripada yang ad-hoc. Jadi dalam hal itu, membuat 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 :)
Sigma
1
Ketika saya menggunakan metode ini, saya terus menerima pesan Reverting buffer `*Ibuffer*'. . Pesan itu mengganggu karena terus mengganggu saya ketika saya bekerja di minibuffer. Pesan muncul apakah ibufferbuffer terlihat atau tidak.
nispio
1
@nispio (setq auto-revert-verbose nil), berpotensi lokal
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:
sumber
ibuffer
, pilihan hilang.Cara yang tepat untuk melakukannya adalah dengan memperkenalkan dukungan
ibuffer
untukauto-revert-mode
. Ini dapat dicapai dengan mendefinisikanbuffer-stale-function
bagi mereka penyangga. Dapat diperdebatkan, karenabuffer-menu
mendukung fitur itu, akan lebih baik untuk memilikinya di huluibuffer
juga, tetapi sepertinya tidak demikian untuk saat ini.Bagaimanapun, inilah cara untuk melakukannya:
Catatan: secara umum, seseorang perlu mendefinisikan nilai untuk
revert-buffer-function
, tetapiibuffer
sudah melakukannya (disetel keibuffer-update
)sumber
ibuffer-auto-mode
?auto-revert-mode
menggunakan timer, danibuffer-auto-mode
menggunakanpost-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 menyalahgunakanpost-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 jugag
, 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 apakahibuffer
buffer terlihat atau tidak.(setq auto-revert-verbose nil)
, berpotensi lokal