2012-07-01 45 views
3

當我升級到(香草)emacs的24.1 OSX上使用iswitch切換緩衝區似乎表現不同。如何在迷你緩衝區限制iswitch緩衝區名1線(行爲Emacs的24.1升級OSX上後改變)?

當我按ctrl-x b來切換緩衝區,而不是將緩衝區列表限制爲1行時,它通過將小緩衝區擴展爲幾行來顯示每個緩衝區,然後逐漸刪除緩衝區在我要切換的緩衝區名稱中。

我覺得有狀態欄和迷你緩衝碰撞上下每當我交換機緩存在視覺上分心,所以我想恢復以前的行爲,它可以切斷緩衝區名其中1行之後。我該怎麼做呢?

回答

5

如果你想在全球範圍內限制小緩衝區使用的單行線的數量,這應該工作:

(setq max-mini-window-height 1) 

附加信息從documentation:

變量MAX-迷你窗口 - 高度控制調整minibuffer窗口大小的最大高度爲 。浮點數指定幀高度的一個 分數;一個整數指定最大行數 ;零表示不自動調整小型緩衝器窗口 的大小。默認值是0.25。

不過,如果你只是想限制由iswitchb使用迷你緩衝區行數,documentation爲iswitchb-小緩衝區,設置掛機提示:小緩衝區設置的

Iswitchb特定的定製。

該鉤子小緩衝區設置期間運行,如果`iswitchb」是活動的。 例如:iswitchb運行時

(add-hook 'iswitchb-minibuffer-setup-hook 
    (lambda() 
     (set (make-local-variable 'max-mini-window-height) 3))) 

將限制迷你緩衝區到的3條線的最大高度。

3

我不認爲這種行爲已經Emacs的23和Emacs 24之間變化,所以我不知道爲什麼你現在纔看到這一點。也許你有一些自定義來獲得這種行爲,它現在無法在Emacs 24中工作?如果是這樣,請報告,以便我們修復它。

也要注意,使用的Emacs 24,默認的行爲(非iswitchb)緩衝器切換非常接近iswitchb的行爲。最明顯的區別是潛在的補全,你也可以用M-x icomplete-mode,這並不影響實際行爲,只顯示獲得的顯示,而且還影響到其他完井。此外icomplete-mode沒有試圖限制它顯示約一行完成列表(另外的實際迷你緩衝區的內容,所以你仍然會得到一些換行,但不如此)。