2010-04-25 19 views
6

có ai biết cách tốt để phân biệt tên đệm đệm chế độ từ các loại bộ đệm khác trong minibuffer khi đang sử dụng chế độ ido không? Ví dụ ... cho thấy một dấu gạch chéo ở cuối của một tên đệm chế độ dired?chế độ ido phân biệt tên đệm có chế độ dired

+0

Dường như không có cách nào, nhưng tính năng này có vẻ hữu ích. Tôi đề nghị gửi một yêu cầu tính năng tới [email protected] – doublep

+0

Cảm ơn - nhưng giải pháp của Trey khá tốt cho cả hai chế độ ido và dired ... có thể dính với cái này ... – hatmatrix

Trả lời

7

Bạn chỉ cần thay đổi bộ đệm dired-mode để luôn có / s ở cuối tên của chúng. Mã này thực hiện điều đó.

(add-hook 'dired-mode-hook 'ensure-buffer-name-ends-in-slash) 
(defun ensure-buffer-name-ends-in-slash() 
    "change buffer name to end with slash" 
    (let ((name (buffer-name))) 
    (if (not (string-match "/$" name)) 
     (rename-buffer (concat name "/") t)))) 
+0

Một vấn đề mặc dù: nó không giải quyết xung đột tên độc đáo khi hai thư mục có cùng tên. –

+0

@WeiHu - Tất nhiên là không, câu hỏi không đòi hỏi giải pháp cho vấn đề đó. Cá nhân tôi sử dụng duy nhất để giải quyết các bộ đệm được đặt tên tương tự: http://www.gnu.org/software/emacs/manual/html_node/emacs/Uniquify.html –

+0

quan điểm của tôi là với giải pháp của bạn, việc mở hai thư mục có cùng tên sẽ xuất hiện một thông báo lỗi gây phiền nhiễu và thông báo lỗi được mở sau này sẽ không có '/' ở cuối. –

Các vấn đề liên quan