2009-02-25 72 views
2

我最近開始使用ido-mode,總體而言,它非常好用。但有一件事情似乎特別破碎,我想知道是否有一個設置(哈)埋在那裏修復它。ido-switch-buffer and bury-buffer

ido-switch-buffer似乎不關心隱藏的緩衝區。也就是說,如果我使用埋葬緩衝區,然後使用ido-switch-buffer,那麼第一個選擇通常就是我剛埋下來的那個。

有沒有簡單的方法呢?掩埋緩衝區的關鍵在於我不想再次看到它。

+0

你能否提供重建步驟?我有一個如何解決這個問題的想法,但不能重現問題。 – 2009-03-09 21:42:00

回答

2

Acording到文檔(C-h f bury-buffer

Put BUFFER-OR-NAME at the end of the list of all buffers. 
There it is the least likely candidate for 'other-buffer' to return; 
thus, the least likely buffer for C-x b to select by 
default. 

所以,如果你使用bury-buffer緩衝區將仍然可以(在列表的末尾),所以這是正常的,ido-switch-buffer找到它。

如果你不想看到那個緩衝區,你應該考慮關閉它。

+1

沒錯。這隻適用於切換到緩衝區(內置C-x b)。 ido-switch-buffer(ido-mode的C-x b)似乎忽略了這個順序,並且經常把它放在第一位。我想讓ido-switch-buffer的完成,以及切換到緩衝區的埋入知識。 – Ken 2009-02-26 18:02:51

0

使用next-bufferprevious-buffer

0

我不能重現此。在Emacs 23上,據我所知,ido-switch-buffer以正確的順序列出緩衝區。

無論如何,你可以試試iswitchb來代替。它有點像ido,只有更老,更專用於緩衝切換。如果你喜歡它,你可以使用iswitchb進行緩衝區切換,並使用ido進行其他操作。

0

無法重現這一點:當我埋葬一個緩衝區,然後調用ido-switch-buffer後,隱藏的緩衝區不在開關列表的前面。

我已經做了相當多的IDO定製(得到它與dired等運作良好),但我的主要伊多設置是:

(setq ido-show-dot-for-dired t) 
(setq ido-default-file-method 'samewindow) 
(setq ido-default-buffer-method 'samewindow) 
(setq ido-confirm-unique-completion t) 
(setq ido-max-dir-file-cache 20) 

ido.el版本是「 1.57發佈GNU。 emacs.sources適用於emacs 22.1「。

hth。

0

FWIW,Emacs-24中的默認完成行爲switch-to-buffer(Cx b)已更改爲使用子字符串匹配完成,因此其行爲與IDO類似,但遵守「默認緩衝區不應該爲我剛剛埋葬的那個「。您可以通過打開icomplete-mode(它不會更改完成行爲本身,但在小型緩衝區末尾顯示完成候選項)使其更加類似。