Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Mail Systems
Eclipse Documentation

How To Guides
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Problem Solutions
Privacy Policy




Next: , Previous: Minibuffer File, Up: Minibuffer

9.2 Editing in the Minibuffer

The minibuffer is an Emacs buffer (albeit a peculiar one), and the usual Emacs commands are available for editing the text of an argument you are entering.

Since <RET> in the minibuffer is defined to exit the minibuffer, you can't use it to insert a newline in the minibuffer. To do that, type C-o or C-q C-j. (On text terminals, newline is really the ASCII character control-J.)

The minibuffer has its own window which always has space on the screen but acts as if it were not there when the minibuffer is not in use. When the minibuffer is in use, its window is just like the others; you can switch to another window with C-x o, edit text in other windows and perhaps even visit more files, before returning to the minibuffer to submit the argument. You can kill text in another window, return to the minibuffer window, and then yank the text to use it in the argument. See Windows.

There are some restrictions on the use of the minibuffer window, however. You cannot switch buffers in it—the minibuffer and its window are permanently attached. Also, you cannot split or kill the minibuffer window. But you can make it taller in the normal fashion with C-x ^.

The minibuffer window expands vertically as necessary to hold the text that you put in the minibuffer. If resize-mini-windows is t (the default), the window is always resized to fit the size of the text it displays. If its value is the symbol grow-only, the window grows when the size of displayed text increases, but shrinks (back to the normal size) only when the minibuffer becomes inactive. If its value is nil, you have to adjust the height yourself.

The variable max-mini-window-height controls the maximum height for resizing the minibuffer window: a floating-point number specifies a fraction of the frame's height; an integer specifies the maximum number of lines; nil means do not resize the minibuffer window automatically. The default value is 0.25.

If, while in the minibuffer, you issue a command that displays help text of any sort in another window, you can use the C-M-v command while in the minibuffer to scroll the help text. (M-<PAGEUP> and M-<PAGEDOWN> also operate on that help text.) This lasts until you exit the minibuffer. This feature is especially useful when you display a buffer listing possible completions. See Other Window.

Emacs normally disallows most commands that use the minibuffer while the minibuffer is active. This rule is to prevent recursive minibuffers from confusing novice users. If you want to be able to use such commands in the minibuffer, set the variable enable-recursive-minibuffers to a non-nil value.

  Published under the terms of the GNU General Public License Design by Interspire