M-x ibuffer
- Chọn một bộ đệm
- Giết bộ đệm đó
Sau khi bộ đệm bị giết, bộ đệm ibuffer xuất hiện lại, nhưng nó vẫn hiển thị tên bộ đệm bị giết ở bước 3.
Có thể để ibuffer tự động làm mới danh sách bộ đệm không?
M-x ibuffer
Sau khi bộ đệm bị giết, bộ đệm ibuffer xuất hiện lại, nhưng nó vẫn hiển thị tên bộ đệm bị giết ở bước 3.
Có thể để ibuffer tự động làm mới danh sách bộ đệm không?
Câu trả lời:
Chạy lệnh ibuffer-auto-mode
trong bộ đệm Ibuffer làm cho nó làm mới màn hình sau mỗi lệnh tương tác.
Dường như không có cách nào để kích hoạt nó tự động. Bạn có thể đặt cái này trong tập tin init của bạn:
(add-hook 'ibuffer-mode-hook (lambda () (ibuffer-auto-mode 1)))
ibuffer
, lựa chọn sẽ bị mất.
Cách đúng đắn để làm điều đó là giới thiệu hỗ trợ ibuffer
cho auto-revert-mode
. Điều này có thể đạt được bằng cách định nghĩa buffer-stale-function
cho những bộ đệm đó. Có thể cho rằng, vì buffer-menu
hỗ trợ tính năng đó, thật tốt khi có nó ngược dòng ibuffer
, nhưng dường như đó không phải là trường hợp hiện tại.
Dù sao, đây là một cách để làm điều đó:
(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)
Lưu ý: nói chung, người ta sẽ cần xác định một giá trị cho revert-buffer-function
, nhưng ibuffer
đã làm điều đó (nó được đặt thành ibuffer-update
)
ibuffer-auto-mode
?
auto-revert-mode
Sử dụng tốt bộ hẹn giờ và ibuffer-auto-mode
sử dụng post-command-hook
, do đó, có một sự khác biệt rõ ràng ; nhưng tôi không thể nói nếu người này thích người kia hơn.
ibuffer
bộ đệm hoạt động như những người khác khi làm mới nội dung lỗi thời cho tôi cảm thấy sạch sẽ hơn. Ngoài ra, tôi thường không thích lạm dụng post-command-hook
theo cách đó: thật sự quá mức khi bạn tình cờ làm một việc hoàn toàn không liên quan trong bộ đệm. Cuối cùng, nếu một số loại tổ hợp phím được yêu cầu để làm mới nội dung, thì đó cũng có thể g
là cách cập nhật nội dung rõ ràng. Nhưng được cho phép, nó có lẽ là một vấn đề triết học :)
Reverting buffer `*Ibuffer*'.
Tin nhắn bị xâm phạm vì nó liên tục làm phiền tôi khi tôi đang làm việc trong xe buýt nhỏ. Thông báo xuất hiện cho dù ibuffer
bộ đệm có thể nhìn thấy hay không.
(setq auto-revert-verbose nil)
, có khả năng tại địa phương