Emacs: Disable line truncation in minibuffer only

2020-06-23 07:27发布

问题:

I am using ido mode for file & buffer switching in Emacs 23.

The following options allow the minibuffer to be resized if there is more than one line worth of files in the directory:

(setq resize-mini-windows t) ; grow and shrink as necessary
(setq max-mini-window-height 3) ; grow up to max of 3 lines

However, this only works if line truncation is not enabled by default (globally):

(setq-default truncate-lines t) ; Truncate, do not wrap lines

I like this option for my main editing window, but this also overrides the above function to show more than one line in the minibuffer. The line in the minibuffer is truncated, not wrapped, also.

Is there a way to enable line truncation for the main editing window and only disable it in the minibuffer?

回答1:

You just need to set the truncate-lines variable to nil for the minibuffer. The easiest way to do that is with the following:

(add-hook 'minibuffer-setup-hook
      (lambda () (setq truncate-lines nil)))