2010-04-25 39 views
6

沒有人知道在使用ido模式時,將直接模式緩衝區名稱與minibuffer中的其他緩衝區類型區分開來的好方法嗎?例如...顯示直接模式緩衝區名稱末尾的正斜槓?ido模式區分直接模式緩衝區名稱

+0

似乎不是那裏的一種方式,但該功能看起來很有用。我建議發送一個功能請求到[email protected]。 – doublep 2010-04-25 15:28:14

+0

謝謝 - 但Trey的解決方案對於ido和dired模式都是相當不錯的......可能會堅持使用這一個...... – hatmatrix 2010-04-26 09:38:15

回答

7

您可以簡單地將dired-mode緩衝區更改爲在名稱末尾始終有/ s。這段代碼是這樣做的。

(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

但有一個問題:當兩個目錄具有相同的名稱時,它不能很好地解決名稱衝突。 – 2010-04-25 18:32:26

+0

@WeiHu - 當然不是,問題並不是要求解決這個問題。我個人使用uniquify來解析類似命名的緩衝區:http://www.gnu.org/software/emacs/manual/html_node/emacs/Uniquify.html – 2010-04-25 18:59:15

+0

我的觀點是,用你的解決方案,打開兩個名稱相同的目錄會問題一個令人討厭的錯誤信息,而後面打開的那個最後不會有'/'。 – 2010-04-26 02:10:28

相關問題