annotate doc/emacs/windows.texi @ 112278:ef719132ddfa

Nuke arch-tags.
author Glenn Morris <rgm@gnu.org>
date Sat, 15 Jan 2011 15:16:57 -0800
parents 376148b31b5e
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
84273
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1 @c This is part of the Emacs manual.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
2 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001,
112218
376148b31b5e Add 2011 to FSF/AIST copyright years.
Glenn Morris <rgm@gnu.org>
parents: 106815
diff changeset
3 @c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
84273
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
4 @c See file emacs.texi for copying conditions.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
5 @node Windows, Frames, Buffers, Top
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
6 @chapter Multiple Windows
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
7 @cindex windows in Emacs
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
8 @cindex multiple windows in Emacs
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
9
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
10 Emacs can split a frame into two or many windows. Multiple windows
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
11 can display parts of different buffers, or different parts of one
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
12 buffer. Multiple frames always imply multiple windows, because each
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
13 frame has its own set of windows. Each window belongs to one and only
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
14 one frame.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
15
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
16 @menu
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
17 * Basic Window:: Introduction to Emacs windows.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
18 * Split Window:: New windows are made by splitting existing windows.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
19 * Other Window:: Moving to another window or doing something to it.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
20 * Pop Up Window:: Finding a file or buffer in another window.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
21 * Force Same Window:: Forcing certain buffers to appear in the selected
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
22 window rather than in another window.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
23 * Change Window:: Deleting windows and changing their sizes.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
24 * Window Convenience:: Convenience functions for window handling.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
25 @end menu
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
26
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
27 @node Basic Window
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
28 @section Concepts of Emacs Windows
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
29
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
30 Each Emacs window displays one Emacs buffer at any time. A single
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
31 buffer may appear in more than one window; if it does, any changes in
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
32 its text are displayed in all the windows where it appears. But these
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
33 windows can show different parts of the buffer, because each window
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
34 has its own value of point.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
35
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
36 @cindex selected window
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
37 At any time, one Emacs window is the @dfn{selected window}; the
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
38 buffer this window is displaying is the current buffer. The terminal's
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
39 cursor shows the location of point in this window. Each other window
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
40 has a location of point as well. On text-only terminals, there is no
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
41 way to show where those locations are, since the terminal has only one
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
42 cursor. On a graphical display, the location of point in a
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
43 non-selected window is indicated by a hollow box; the cursor in the
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
44 selected window is blinking or solid.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
45
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
46 Commands to move point affect the value of point for the selected Emacs
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
47 window only. They do not change the value of point in other Emacs
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
48 windows, even those showing the same buffer. The same is true for commands
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
49 such as @kbd{C-x b} to switch buffers in the selected window;
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
50 they do not affect other windows at all. However, there are other commands
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
51 such as @kbd{C-x 4 b} that select a different window and switch buffers in
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
52 it. Also, all commands that display information in a window, including
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
53 (for example) @kbd{C-h f} (@code{describe-function}) and @kbd{C-x C-b}
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
54 (@code{list-buffers}), work by switching buffers in a nonselected window
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
55 without affecting the selected window.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
56
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
57 When multiple windows show the same buffer, they can have different
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
58 regions, because they can have different values of point. However,
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
59 they all have the same value for the mark, because each buffer has
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
60 only one mark position.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
61
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
62 Each window has its own mode line, which displays the buffer name,
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
63 modification status and major and minor modes of the buffer that is
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
64 displayed in the window. The selected window's mode line appears in a
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
65 different color. @xref{Mode Line}, for full details on the mode line.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
66
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
67 @node Split Window
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
68 @section Splitting Windows
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
69
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
70 @table @kbd
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
71 @item C-x 2
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
72 Split the selected window into two windows, one above the other
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
73 (@code{split-window-vertically}).
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
74 @item C-x 3
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
75 Split the selected window into two windows positioned side by side
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
76 (@code{split-window-horizontally}).
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
77 @item C-Mouse-2
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
78 In the mode line or scroll bar of a window, split that window.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
79 @end table
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
80
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
81 @kindex C-x 2
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
82 @findex split-window-vertically
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
83 The command @kbd{C-x 2} (@code{split-window-vertically}) breaks the
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
84 selected window into two windows, one above the other. Both windows start
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
85 out displaying the same buffer, with the same value of point. By default
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
86 the two windows each get half the height of the window that was split; a
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
87 numeric argument specifies how many lines to give to the top window.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
88
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
89 @kindex C-x 3
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
90 @findex split-window-horizontally
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
91 @kbd{C-x 3} (@code{split-window-horizontally}) breaks the selected
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
92 window into two side-by-side windows. A numeric argument specifies how
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
93 many columns to give the one on the left. If you are not using
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
94 scrollbars, a vertical line separates the two windows.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
95 You can customize its color with the face @code{vertical-border}.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
96 Windows that are not the full width of the screen have mode lines, but
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
97 they are truncated. On terminals where Emacs does not support
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
98 highlighting, truncated mode lines sometimes do not appear in inverse
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
99 video.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
100
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
101 @kindex C-Mouse-2 @r{(scroll bar)}
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
102 You can split a window horizontally or vertically by clicking
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
103 @kbd{C-Mouse-2} in the mode line or the scroll bar. The line of
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
104 splitting goes through the place where you click: if you click on the
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
105 mode line, the new scroll bar goes above the spot; if you click in the
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
106 scroll bar, the mode line of the split window is side by side with
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
107 your click.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
108
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
109 @vindex truncate-partial-width-windows
99942
fecb8cbd43ef (Split Window): Document integer values of
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
110 When a window occupies less than the full width of the frame, it may
100034
752a5667efcc (Split Window): Add reference to Continuation Lines.
Martin Rudalics <rudalics@gmx.at>
parents: 100032
diff changeset
111 become too narrow for most of the text lines in its buffer. If most of
752a5667efcc (Split Window): Add reference to Continuation Lines.
Martin Rudalics <rudalics@gmx.at>
parents: 100032
diff changeset
112 its lines are continued (@pxref{Continuation Lines}), the buffer may
752a5667efcc (Split Window): Add reference to Continuation Lines.
Martin Rudalics <rudalics@gmx.at>
parents: 100032
diff changeset
113 become difficult to read. Therefore, Emacs automatically truncates
752a5667efcc (Split Window): Add reference to Continuation Lines.
Martin Rudalics <rudalics@gmx.at>
parents: 100032
diff changeset
114 lines if the window width becomes narrower than 50 columns. This
752a5667efcc (Split Window): Add reference to Continuation Lines.
Martin Rudalics <rudalics@gmx.at>
parents: 100032
diff changeset
115 truncation occurs regardless of the value of the variable
752a5667efcc (Split Window): Add reference to Continuation Lines.
Martin Rudalics <rudalics@gmx.at>
parents: 100032
diff changeset
116 @code{truncate-lines} (@pxref{Line Truncation}); it is instead
752a5667efcc (Split Window): Add reference to Continuation Lines.
Martin Rudalics <rudalics@gmx.at>
parents: 100032
diff changeset
117 controlled by the variable @code{truncate-partial-width-windows}. If
752a5667efcc (Split Window): Add reference to Continuation Lines.
Martin Rudalics <rudalics@gmx.at>
parents: 100032
diff changeset
118 the value of @code{truncate-partial-width-windows} is a positive integer
752a5667efcc (Split Window): Add reference to Continuation Lines.
Martin Rudalics <rudalics@gmx.at>
parents: 100032
diff changeset
119 (the default is 50), that specifies the minimum width for a
752a5667efcc (Split Window): Add reference to Continuation Lines.
Martin Rudalics <rudalics@gmx.at>
parents: 100032
diff changeset
120 partial-width window before automatic line truncation occurs; if the
752a5667efcc (Split Window): Add reference to Continuation Lines.
Martin Rudalics <rudalics@gmx.at>
parents: 100032
diff changeset
121 value is @code{nil}, automatic line truncation is disabled; and for any
752a5667efcc (Split Window): Add reference to Continuation Lines.
Martin Rudalics <rudalics@gmx.at>
parents: 100032
diff changeset
122 other non-@code{nil} value, Emacs truncates lines in every partial-width
99942
fecb8cbd43ef (Split Window): Document integer values of
Chong Yidong <cyd@stupidchicken.com>
parents: 87903
diff changeset
123 window regardless of its width.
84273
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
124
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
125 Horizontal scrolling is often used in side-by-side windows.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
126 @xref{Horizontal Scrolling}.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
127
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
128 @vindex split-window-keep-point
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
129 If @code{split-window-keep-point} is non-@code{nil}, the default,
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
130 both of the windows resulting from @kbd{C-x 2} inherit the value of
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
131 point from the window that was split. This means that scrolling is
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
132 inevitable. If this variable is @code{nil}, then @kbd{C-x 2} tries to
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
133 avoid scrolling the text currently visible on the screen, by putting
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
134 point in each window at a position already visible in the window. It
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
135 also selects whichever window contains the screen line that the cursor
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
136 was previously on. Some users prefer that mode on slow terminals.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
137
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
138 @node Other Window
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
139 @section Using Other Windows
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
140
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
141 @table @kbd
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
142 @item C-x o
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
143 Select another window (@code{other-window}). That is @kbd{o}, not zero.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
144 @item C-M-v
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
145 Scroll the next window (@code{scroll-other-window}).
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
146 @item M-x compare-windows
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
147 Find next place where the text in the selected window does not match
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
148 the text in the next window.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
149 @item Mouse-1
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
150 @kbd{Mouse-1}, in a window's mode line, selects that window
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
151 but does not move point in it (@code{mouse-select-window}).
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
152 @end table
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
153
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
154 @kindex C-x o
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
155 @findex other-window
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
156 To select a different window, click with @kbd{Mouse-1} on its mode
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
157 line. With the keyboard, you can switch windows by typing @kbd{C-x o}
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
158 (@code{other-window}). That is an @kbd{o}, for ``other,'' not a zero.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
159 When there are more than two windows, this command moves through all the
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
160 windows in a cyclic order, generally top to bottom and left to right.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
161 After the rightmost and bottommost window, it goes back to the one at
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
162 the upper left corner. A numeric argument means to move several steps
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
163 in the cyclic order of windows. A negative argument moves around the
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
164 cycle in the opposite order. When the minibuffer is active, the
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
165 minibuffer is the last window in the cycle; you can switch from the
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
166 minibuffer window to one of the other windows, and later switch back and
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
167 finish supplying the minibuffer argument that is requested.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
168 @xref{Minibuffer Edit}.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
169
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
170 @kindex C-M-v
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
171 @findex scroll-other-window
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
172 The usual scrolling commands (@pxref{Display}) apply to the selected
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
173 window only, but there is one command to scroll the next window.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
174 @kbd{C-M-v} (@code{scroll-other-window}) scrolls the window that
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
175 @kbd{C-x o} would select. It takes arguments, positive and negative,
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
176 like @kbd{C-v}. (In the minibuffer, @kbd{C-M-v} scrolls the window
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
177 that contains the minibuffer help display, if any, rather than the
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
178 next window in the standard cyclic order.)
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
179
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
180 The command @kbd{M-x compare-windows} lets you compare two files or
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
181 buffers visible in two windows, by moving through them to the next
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
182 mismatch. @xref{Comparing Files}, for details.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
183
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
184 @vindex mouse-autoselect-window
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
185 If you set @code{mouse-autoselect-window} to a non-@code{nil} value,
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
186 moving the mouse into a different window selects that window. This
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
187 feature is off by default.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
188
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
189 @node Pop Up Window
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
190 @section Displaying in Another Window
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
191
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
192 @cindex selecting buffers in other windows
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
193 @kindex C-x 4
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
194 @kbd{C-x 4} is a prefix key for commands that select another window
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
195 (splitting the window if there is only one) and select a buffer in that
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
196 window. Different @kbd{C-x 4} commands have different ways of finding the
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
197 buffer to select.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
198
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
199 @table @kbd
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
200 @item C-x 4 b @var{bufname} @key{RET}
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
201 Select buffer @var{bufname} in another window. This runs
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
202 @code{switch-to-buffer-other-window}.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
203 @item C-x 4 C-o @var{bufname} @key{RET}
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
204 Display buffer @var{bufname} in another window, but
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
205 don't select that buffer or that window. This runs
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
206 @code{display-buffer}.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
207 @item C-x 4 f @var{filename} @key{RET}
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
208 Visit file @var{filename} and select its buffer in another window. This
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
209 runs @code{find-file-other-window}. @xref{Visiting}.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
210 @item C-x 4 d @var{directory} @key{RET}
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
211 Select a Dired buffer for directory @var{directory} in another window.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
212 This runs @code{dired-other-window}. @xref{Dired}.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
213 @item C-x 4 m
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
214 Start composing a mail message in another window. This runs
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
215 @code{mail-other-window}; its same-window analogue is @kbd{C-x m}
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
216 (@pxref{Sending Mail}).
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
217 @item C-x 4 .
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
218 Find a tag in the current tags table, in another window. This runs
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
219 @code{find-tag-other-window}, the multiple-window variant of @kbd{M-.}
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
220 (@pxref{Tags}).
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
221 @item C-x 4 r @var{filename} @key{RET}
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
222 Visit file @var{filename} read-only, and select its buffer in another
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
223 window. This runs @code{find-file-read-only-other-window}.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
224 @xref{Visiting}.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
225 @end table
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
226
100032
5b75d0205932 (Pop Up Window): Mention split-height-threshold
Martin Rudalics <rudalics@gmx.at>
parents: 99942
diff changeset
227 @vindex split-height-threshold
5b75d0205932 (Pop Up Window): Mention split-height-threshold
Martin Rudalics <rudalics@gmx.at>
parents: 99942
diff changeset
228 @vindex split-width-threshold
5b75d0205932 (Pop Up Window): Mention split-height-threshold
Martin Rudalics <rudalics@gmx.at>
parents: 99942
diff changeset
229 By default, these commands split the window vertically when there is
5b75d0205932 (Pop Up Window): Mention split-height-threshold
Martin Rudalics <rudalics@gmx.at>
parents: 99942
diff changeset
230 only one. You can customize the variables @code{split-height-threshold}
5b75d0205932 (Pop Up Window): Mention split-height-threshold
Martin Rudalics <rudalics@gmx.at>
parents: 99942
diff changeset
231 and @code{split-width-threshold} to split the window horizontally
5b75d0205932 (Pop Up Window): Mention split-height-threshold
Martin Rudalics <rudalics@gmx.at>
parents: 99942
diff changeset
232 instead.
5b75d0205932 (Pop Up Window): Mention split-height-threshold
Martin Rudalics <rudalics@gmx.at>
parents: 99942
diff changeset
233
5b75d0205932 (Pop Up Window): Mention split-height-threshold
Martin Rudalics <rudalics@gmx.at>
parents: 99942
diff changeset
234
84273
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
235 @node Force Same Window
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
236 @section Forcing Display in the Same Window
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
237
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
238 Certain Emacs commands switch to a specific buffer with special
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
239 contents. For example, @kbd{M-x shell} switches to a buffer named
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
240 @samp{*shell*}. By convention, all these commands are written to pop up
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
241 the buffer in a separate window. But you can specify that certain of
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
242 these buffers should appear in the selected window.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
243
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
244 @vindex same-window-buffer-names
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
245 If you add a buffer name to the list @code{same-window-buffer-names},
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
246 the effect is that such commands display that particular buffer by
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
247 switching to it in the selected window. For example, if you add the
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
248 element @code{"*grep*"} to the list, the @code{grep} command will
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
249 display its output buffer in the selected window.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
250
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
251 The default value of @code{same-window-buffer-names} is not
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
252 @code{nil}: it specifies buffer names @samp{*info*}, @samp{*mail*} and
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
253 @samp{*shell*} (as well as others used by more obscure Emacs packages).
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
254 This is why @kbd{M-x shell} normally switches to the @samp{*shell*}
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
255 buffer in the selected window. If you delete this element from the
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
256 value of @code{same-window-buffer-names}, the behavior of @kbd{M-x
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
257 shell} will change---it will pop up the buffer in another window
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
258 instead.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
259
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
260 @vindex same-window-regexps
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
261 You can specify these buffers more generally with the variable
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
262 @code{same-window-regexps}. Set it to a list of regular expressions;
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
263 then any buffer whose name matches one of those regular expressions is
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
264 displayed by switching to it in the selected window. (Once again, this
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
265 applies only to buffers that normally get displayed for you in a
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
266 separate window.) The default value of this variable specifies Telnet
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
267 and rlogin buffers.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
268
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
269 An analogous feature lets you specify buffers which should be
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
270 displayed in their own individual frames. @xref{Special Buffer Frames}.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
271
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
272 @node Change Window
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
273 @section Deleting and Rearranging Windows
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
274
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
275 @table @kbd
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
276 @item C-x 0
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
277 Delete the selected window (@code{delete-window}). The last character
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
278 in this key sequence is a zero.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
279 @item C-x 1
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
280 Delete all windows in the selected frame except the selected window
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
281 (@code{delete-other-windows}).
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
282 @item C-x 4 0
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
283 Delete the selected window and kill the buffer that was showing in it
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
284 (@code{kill-buffer-and-window}). The last character in this key
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
285 sequence is a zero.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
286 @item C-x ^
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
287 Make selected window taller (@code{enlarge-window}).
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
288 @item C-x @}
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
289 Make selected window wider (@code{enlarge-window-horizontally}).
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
290 @item C-x @{
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
291 Make selected window narrower (@code{shrink-window-horizontally}).
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
292 @item C-x -
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
293 Shrink this window if its buffer doesn't need so many lines
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
294 (@code{shrink-window-if-larger-than-buffer}).
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
295 @item C-x +
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
296 Make all windows the same height (@code{balance-windows}).
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
297 @end table
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
298
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
299 @kindex C-x 0
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
300 @findex delete-window
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
301 To delete a window, type @kbd{C-x 0} (@code{delete-window}). (That is
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
302 a zero.) The space occupied by the deleted window is given to an
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
303 adjacent window (but not the minibuffer window, even if that is active
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
304 at the time). Once a window is deleted, its attributes are forgotten;
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
305 only restoring a window configuration can bring it back. Deleting the
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
306 window has no effect on the buffer it used to display; the buffer
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
307 continues to exist, and you can select it in any window with @kbd{C-x
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
308 b}.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
309
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
310 @findex kill-buffer-and-window
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
311 @kindex C-x 4 0
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
312 @kbd{C-x 4 0} (@code{kill-buffer-and-window}) is a stronger command
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
313 than @kbd{C-x 0}; it kills the current buffer and then deletes the
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
314 selected window.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
315
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
316 @kindex C-x 1
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
317 @findex delete-other-windows
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
318 @kbd{C-x 1} (@code{delete-other-windows}) is more powerful in a
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
319 different way; it deletes all the windows except the selected one (and
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
320 the minibuffer); the selected window expands to use the whole frame
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
321 except for the echo area.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
322
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
323 @kindex C-x ^
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
324 @findex enlarge-window
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
325 @kindex C-x @}
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
326 @findex enlarge-window-horizontally
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
327 @vindex window-min-height
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
328 @vindex window-min-width
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
329 To readjust the division of space among vertically adjacent windows,
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
330 use @kbd{C-x ^} (@code{enlarge-window}). It makes the currently
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
331 selected window one line bigger, or as many lines as is specified
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
332 with a numeric argument. With a negative argument, it makes the
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
333 selected window smaller. @kbd{C-x @}}
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
334 (@code{enlarge-window-horizontally}) makes the selected window wider by
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
335 the specified number of columns. @kbd{C-x @{}
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
336 (@code{shrink-window-horizontally}) makes the selected window narrower
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
337 by the specified number of columns.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
338
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
339 When you make a window bigger, the space comes from its peers. If
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
340 this makes any window too small, it is deleted and its space is given
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
341 to an adjacent window. The minimum size is specified by the variables
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
342 @code{window-min-height} and @code{window-min-width}.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
343
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
344 @kindex C-x -
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
345 @findex shrink-window-if-larger-than-buffer
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
346 The command @kbd{C-x -} (@code{shrink-window-if-larger-than-buffer})
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
347 reduces the height of the selected window, if it is taller than
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
348 necessary to show the whole text of the buffer it is displaying. It
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
349 gives the extra lines to other windows in the frame.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
350
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
351 @kindex C-x +
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
352 @findex balance-windows
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
353 You can also use @kbd{C-x +} (@code{balance-windows}) to even out the
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
354 heights of all the windows in the selected frame.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
355
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
356 Mouse clicks on the mode line provide another way to change window
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
357 heights and to delete windows. @xref{Mode Line Mouse}.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
358
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
359 @node Window Convenience
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
360 @section Window Handling Convenience Features and Customization
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
361
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
362 @findex winner-mode
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
363 @cindex Winner mode
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
364 @cindex mode, Winner
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
365 @cindex undoing window configuration changes
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
366 @cindex window configuration changes, undoing
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
367 @kbd{M-x winner-mode} is a global minor mode that records the
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
368 changes in the window configuration (i.e. how the frames are
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
369 partitioned into windows), so that you can ``undo'' them. To undo,
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
370 use @kbd{C-c left} (@code{winner-undo}). If you change your mind
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
371 while undoing, you can redo the changes you had undone using @kbd{C-c
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
372 right} (@code{M-x winner-redo}). Another way to enable Winner mode is
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
373 by customizing the variable @code{winner-mode}.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
374
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
375 @cindex Windmove package
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
376 @cindex directional window selection
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
377 @findex windmove-right
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
378 @findex windmove-default-keybindings
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
379 The Windmove commands move directionally between neighboring windows in
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
380 a frame. @kbd{M-x windmove-right} selects the window immediately to the
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
381 right of the currently selected one, and similarly for the ``left,'' ``up,''
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
382 and ``down'' counterparts. @kbd{M-x windmove-default-keybindings} binds
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
383 these commands to @kbd{S-right} etc. (Not all terminals support shifted
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
384 arrow keys, however.)
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
385
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
386 Follow minor mode (@kbd{M-x follow-mode}) synchronizes several
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
387 windows on the same buffer so that they always display adjacent
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
388 sections of that buffer. @xref{Follow Mode}.
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
389
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
390 @vindex scroll-all-mode
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
391 @cindex scrolling windows together
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
392 @cindex Scroll-all mode
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
393 @cindex mode, Scroll-all
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
394 @kbd{M-x scroll-all-mode} provides commands to scroll all visible
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
395 windows together. You can also turn it on by customizing the variable
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
396 @code{scroll-all-mode}. The commands provided are @kbd{M-x
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
397 scroll-all-scroll-down-all}, @kbd{M-x scroll-all-page-down-all} and
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
398 their corresponding ``up'' equivalents. To make this mode useful,
d409e8e5c28f Move here from ../../man
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
399 you should bind these commands to appropriate keys.