25829
|
1 @c This is part of the Emacs manual.
|
64890
|
2 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2001, 2002,
|
75348
|
3 @c 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
25829
|
4 @c See file emacs.texi for copying conditions.
|
|
5 @node Mark, Killing, Help, Top
|
|
6 @chapter The Mark and the Region
|
|
7 @cindex mark
|
|
8 @cindex setting a mark
|
|
9 @cindex region
|
|
10
|
|
11 Many Emacs commands operate on an arbitrary contiguous part of the
|
|
12 current buffer. To specify the text for such a command to operate on,
|
|
13 you set @dfn{the mark} at one end of it, and move point to the other
|
|
14 end. The text between point and the mark is called @dfn{the region}.
|
|
15 Emacs highlights the region whenever there is one, if you enable
|
|
16 Transient Mark mode (@pxref{Transient Mark}).
|
|
17
|
38411
|
18 Certain Emacs commands set the mark; other editing commands do not
|
|
19 affect it, so the mark remains where you set it last. Each Emacs
|
|
20 buffer has its own mark, and setting the mark in one buffer has no
|
38786
|
21 effect on other buffers' marks. When you return to a buffer that was
|
|
22 current earlier, its mark is at the same place as before.
|
38411
|
23
|
|
24 The ends of the region are always point and the mark. It doesn't
|
|
25 matter which of them was put in its current place first, or which one
|
|
26 comes earlier in the text---the region starts from point or the mark
|
|
27 (whichever comes first), and ends at point or the mark (whichever
|
|
28 comes last). Every time you move point, or set the mark in a new
|
|
29 place, the region changes.
|
25829
|
30
|
|
31 Many commands that insert text, such as @kbd{C-y} (@code{yank}) and
|
38411
|
32 @kbd{M-x insert-buffer}, position point and the mark at opposite ends
|
|
33 of the inserted text, so that the region consists of the text just
|
|
34 inserted.
|
25829
|
35
|
|
36 Aside from delimiting the region, the mark is also useful for
|
|
37 remembering a spot that you may want to go back to. To make this
|
|
38 feature more useful, each buffer remembers 16 previous locations of the
|
|
39 mark in the @dfn{mark ring}.
|
|
40
|
|
41 @menu
|
|
42 * Setting Mark:: Commands to set the mark.
|
|
43 * Transient Mark:: How to make Emacs highlight the region--
|
|
44 when there is one.
|
46237
|
45 * Momentary Mark:: Enabling Transient Mark mode momentarily.
|
25829
|
46 * Using Region:: Summary of ways to operate on contents of the region.
|
|
47 * Marking Objects:: Commands to put region around textual units.
|
|
48 * Mark Ring:: Previous mark positions saved so you can go back there.
|
|
49 * Global Mark Ring:: Previous mark positions in various buffers.
|
|
50 @end menu
|
|
51
|
|
52 @node Setting Mark
|
|
53 @section Setting the Mark
|
|
54
|
|
55 Here are some commands for setting the mark:
|
|
56
|
|
57 @table @kbd
|
|
58 @item C-@key{SPC}
|
|
59 Set the mark where point is (@code{set-mark-command}).
|
|
60 @item C-@@
|
|
61 The same.
|
|
62 @item C-x C-x
|
|
63 Interchange mark and point (@code{exchange-point-and-mark}).
|
|
64 @item Drag-Mouse-1
|
|
65 Set point and the mark around the text you drag across.
|
|
66 @item Mouse-3
|
|
67 Set the mark where point is, then move point to where you click
|
|
68 (@code{mouse-save-then-kill}).
|
|
69 @end table
|
|
70
|
|
71 For example, suppose you wish to convert part of the buffer to
|
|
72 upper case, using the @kbd{C-x C-u} (@code{upcase-region}) command,
|
|
73 which operates on the text in the region. You can first go to the
|
|
74 beginning of the text to be capitalized, type @kbd{C-@key{SPC}} to put
|
|
75 the mark there, move to the end, and then type @kbd{C-x C-u}. Or, you
|
|
76 can set the mark at the end of the text, move to the beginning, and then
|
|
77 type @kbd{C-x C-u}.
|
|
78
|
|
79 @kindex C-SPC
|
|
80 @findex set-mark-command
|
|
81 The most common way to set the mark is with the @kbd{C-@key{SPC}} command
|
|
82 (@code{set-mark-command}). This sets the mark where point is. Then you
|
|
83 can move point away, leaving the mark behind.
|
|
84
|
|
85 There are two ways to set the mark with the mouse. You can drag mouse
|
|
86 button one across a range of text; that puts point where you release the
|
|
87 mouse button, and sets the mark at the other end of that range. Or you
|
|
88 can click mouse button three, which sets the mark at point (like
|
60244
|
89 @kbd{C-@key{SPC}}) and then moves point where you clicked (like
|
68512
|
90 @kbd{Mouse-1}).
|
|
91
|
|
92 Using the mouse to mark a region copies the region into the kill
|
60244
|
93 ring in addition to setting the mark; that gives behavior consistent
|
68512
|
94 with other window-driven applications. If you don't want to modify
|
60244
|
95 the kill ring, you must use keyboard commands to set the mark.
|
|
96 @xref{Mouse Commands}.
|
25829
|
97
|
|
98 @kindex C-x C-x
|
|
99 @findex exchange-point-and-mark
|
60244
|
100 When Emacs was developed, terminals had only one cursor, so Emacs
|
|
101 does not show where the mark is located--you have to remember. If you
|
|
102 enable Transient Mark mode (see below), then the region is highlighted
|
|
103 when it is active; you can tell mark is at the other end of the
|
|
104 highlighted region. But this only applies when the mark is active.
|
|
105
|
|
106 The usual solution to this problem is to set the mark and then use
|
|
107 it soon, before you forget where it is. Alternatively, you can see
|
|
108 where the mark is with the command @kbd{C-x C-x}
|
|
109 (@code{exchange-point-and-mark}) which puts the mark where point was
|
|
110 and point where the mark was. The extent of the region is unchanged,
|
|
111 but the cursor and point are now at the previous position of the mark.
|
|
112 In Transient Mark mode, this command also reactivates the mark.
|
25829
|
113
|
|
114 @kbd{C-x C-x} is also useful when you are satisfied with the position
|
|
115 of point but want to move the other end of the region (where the mark
|
|
116 is); do @kbd{C-x C-x} to put point at that end of the region, and then
|
38461
|
117 move it. Using @kbd{C-x C-x} a second time, if necessary, puts the mark at
|
25829
|
118 the new position with point back at its original position.
|
|
119
|
36359
33c7ddaf02c6
(Setting Mark): Add a cross-reference to the section which describes
Eli Zaretskii <eliz@gnu.org>
diff
changeset
|
120 For more facilities that allow you to go to previously set marks, see
|
33c7ddaf02c6
(Setting Mark): Add a cross-reference to the section which describes
Eli Zaretskii <eliz@gnu.org>
diff
changeset
|
121 @ref{Mark Ring}.
|
33c7ddaf02c6
(Setting Mark): Add a cross-reference to the section which describes
Eli Zaretskii <eliz@gnu.org>
diff
changeset
|
122
|
25829
|
123 @kindex C-@@
|
60244
|
124 There is no such character as @kbd{C-@key{SPC}} in @acronym{ASCII};
|
|
125 when you type @key{SPC} while holding down @key{CTRL} on a text
|
|
126 terminal, what you get is the character @kbd{C-@@}. This key is also
|
|
127 bound to @code{set-mark-command}--so unless you are unlucky enough to
|
|
128 have a text terminal where typing @kbd{C-@key{SPC}} does not produce
|
25829
|
129 @kbd{C-@@}, you might as well think of this character as
|
60244
|
130 @kbd{C-@key{SPC}}.
|
25829
|
131
|
|
132 @node Transient Mark
|
|
133 @section Transient Mark Mode
|
|
134 @cindex mode, Transient Mark
|
|
135 @cindex Transient Mark mode
|
|
136 @cindex highlighting region
|
|
137 @cindex region highlighting
|
|
138
|
46237
|
139 On a terminal that supports colors, Emacs has the ability to
|
|
140 highlight the current region. But normally it does not. Why not?
|
25829
|
141
|
72166
|
142 In the normal mode of use, every command that sets the mark also
|
|
143 activates it, and nothing ever deactivates it. Thus, once you have
|
|
144 set the mark in a buffer, there is @emph{always} a region in that
|
|
145 buffer. Highlighting the region all the time would be a nuisance. So
|
|
146 normally Emacs highlights the region only immediately after you have
|
|
147 selected one with the mouse.
|
25829
|
148
|
46237
|
149 If you want region highlighting, you can use Transient Mark mode.
|
72166
|
150 This is a more rigid mode of operation in which the region ``lasts''
|
|
151 only until you use it; operating on the region text deactivates the
|
|
152 mark, so there is no region any more. Therefore, you must explicitly
|
|
153 set up a region for each command that uses one.
|
|
154
|
|
155 When Transient Mark mode is enabled, Emacs highlights the region,
|
|
156 whenever there is a region. In Transient Mark mode, most of the time
|
|
157 there is no region; therefore, highlighting the region when it exists
|
|
158 is useful and not annoying.
|
25829
|
159
|
|
160 @findex transient-mark-mode
|
|
161 To enable Transient Mark mode, type @kbd{M-x transient-mark-mode}.
|
46237
|
162 This command toggles the mode; you can use the same command to turn
|
|
163 the mode off again.
|
25829
|
164
|
|
165 Here are the details of Transient Mark mode:
|
|
166
|
|
167 @itemize @bullet
|
|
168 @item
|
|
169 To set the mark, type @kbd{C-@key{SPC}} (@code{set-mark-command}).
|
38786
|
170 This makes the mark active and thus begins highlighting of the region.
|
|
171 As you move point, you will see the highlighted region grow and
|
|
172 shrink.
|
25829
|
173
|
49600
|
174 @item
|
25829
|
175 The mouse commands for specifying the mark also make it active. So do
|
|
176 keyboard commands whose purpose is to specify a region, including
|
|
177 @kbd{M-@@}, @kbd{C-M-@@}, @kbd{M-h}, @kbd{C-M-h}, @kbd{C-x C-p}, and
|
|
178 @kbd{C-x h}.
|
|
179
|
|
180 @item
|
46237
|
181 You can tell that the mark is active because the region is highlighted.
|
|
182
|
|
183 @item
|
25829
|
184 When the mark is active, you can execute commands that operate on the
|
|
185 region, such as killing, indenting, or writing to a file.
|
|
186
|
|
187 @item
|
|
188 Any change to the buffer, such as inserting or deleting a character,
|
|
189 deactivates the mark. This means any subsequent command that operates
|
|
190 on a region will get an error and refuse to operate. You can make the
|
|
191 region active again by typing @kbd{C-x C-x}.
|
|
192
|
|
193 @item
|
60244
|
194 If Delete Selection mode is also enabled, some commands delete the
|
74901
|
195 region when used while the mark is active. @xref{Mouse Commands}.
|
60244
|
196
|
|
197 @item
|
46237
|
198 Quitting with @kbd{C-g} deactivates the mark.
|
|
199
|
|
200 @item
|
38786
|
201 Commands like @kbd{M->} and @kbd{C-s}, that ``leave the mark behind'' in
|
38461
|
202 addition to some other primary purpose, do not activate the new mark.
|
25829
|
203 You can activate the new region by executing @kbd{C-x C-x}
|
|
204 (@code{exchange-point-and-mark}).
|
|
205
|
|
206 @item
|
58974
|
207 Commands that normally set the mark before moving long distances (like
|
|
208 @kbd{M-<} and @kbd{C-s}) do not alter the mark in Transient Mark mode
|
|
209 when the mark is active.
|
25829
|
210
|
|
211 @item
|
46237
|
212 Some commands operate on the region if a region is active. For
|
|
213 instance, @kbd{C-x u} in Transient Mark mode operates on the region,
|
|
214 when there is a region. (Outside Transient Mark mode, you must type
|
|
215 @kbd{C-u C-x u} if you want it to operate on the region.)
|
|
216 @xref{Undo}. Other commands that act this way are identified in their
|
|
217 own documentation.
|
25829
|
218 @end itemize
|
|
219
|
38461
|
220 The highlighting of the region uses the @code{region} face; you can
|
|
221 customize the appearance of the highlighted region by changing this
|
|
222 face. @xref{Face Customization}.
|
25829
|
223
|
|
224 @vindex highlight-nonselected-windows
|
|
225 When multiple windows show the same buffer, they can have different
|
|
226 regions, because they can have different values of point (though they
|
|
227 all share one common mark position). Ordinarily, only the selected
|
|
228 window highlights its region (@pxref{Windows}). However, if the
|
|
229 variable @code{highlight-nonselected-windows} is non-@code{nil}, then
|
|
230 each window highlights its own region (provided that Transient Mark mode
|
38786
|
231 is enabled and the mark in the window's buffer is active).
|
25829
|
232
|
|
233 @vindex mark-even-if-inactive
|
|
234 If the variable @code{mark-even-if-inactive} is non-@code{nil} in
|
|
235 Transient Mark mode, then commands can use the mark and the region
|
46237
|
236 even when it is inactive. Region highlighting appears and disappears
|
25829
|
237 just as it normally does in Transient Mark mode, but the mark doesn't
|
46237
|
238 really go away when the highlighting disappears, so you can still use
|
|
239 region commands.
|
25829
|
240
|
|
241 @cindex Zmacs mode
|
|
242 Transient Mark mode is also sometimes known as ``Zmacs mode''
|
|
243 because the Zmacs editor on the MIT Lisp Machine handled the mark in a
|
|
244 similar way.
|
|
245
|
46237
|
246 @node Momentary Mark
|
|
247 @section Using Transient Mark Mode Momentarily
|
|
248
|
|
249 If you don't like Transient Mark mode in general, you might still
|
|
250 want to use it once in a while. To do this, type @kbd{C-@key{SPC}
|
|
251 C-@key{SPC}} or @kbd{C-u C-x C-x}. These commands set or activate the
|
|
252 mark, and enable Transient Mark mode only until the mark is
|
|
253 deactivated.
|
|
254
|
|
255 @table @kbd
|
|
256 @item C-@key{SPC} C-@key{SPC}
|
|
257 @kindex C-@key{SPC} C-@key{SPC}
|
|
258 Set the mark at point (like plain @kbd{C-@key{SPC}}), and enable
|
|
259 Transient Mark mode just once until the mark is deactivated. (This is
|
|
260 not really a separate command; you are using the @kbd{C-@key{SPC}}
|
|
261 command twice.)
|
|
262
|
|
263 @item C-u C-x C-x
|
|
264 @kindex C-u C-x C-x
|
56691
|
265 Activate the mark without changing it; enable Transient Mark mode just
|
|
266 once, until the mark is deactivated. (This is the @kbd{C-x C-x}
|
|
267 command, @code{exchange-point-and-mark}, with a prefix argument.)
|
46237
|
268 @end table
|
|
269
|
|
270 One of the secondary features of Transient Mark mode is that certain
|
56691
|
271 commands operate only on the region, when there is an active region.
|
|
272 If you don't use Transient Mark mode, the region once set never
|
|
273 becomes inactive, so there is no way for these commands to make such a
|
46237
|
274 distinction. Enabling Transient Mark mode momentarily gives you a way
|
|
275 to use these commands on the region.
|
|
276
|
56691
|
277 Momentary use of Transient Mark mode is also a way to highlight the
|
|
278 region for the time being.
|
46237
|
279
|
25829
|
280 @node Using Region
|
|
281 @section Operating on the Region
|
|
282
|
|
283 @cindex operations on a marked region
|
|
284 Once you have a region and the mark is active, here are some of the
|
|
285 ways you can operate on the region:
|
|
286
|
|
287 @itemize @bullet
|
|
288 @item
|
|
289 Kill it with @kbd{C-w} (@pxref{Killing}).
|
|
290 @item
|
|
291 Save it in a register with @kbd{C-x r s} (@pxref{Registers}).
|
|
292 @item
|
|
293 Save it in a buffer or a file (@pxref{Accumulating Text}).
|
|
294 @item
|
|
295 Convert case with @kbd{C-x C-l} or @kbd{C-x C-u} (@pxref{Case}).
|
|
296 @item
|
|
297 Indent it with @kbd{C-x @key{TAB}} or @kbd{C-M-\} (@pxref{Indentation}).
|
|
298 @item
|
|
299 Fill it as text with @kbd{M-x fill-region} (@pxref{Filling}).
|
|
300 @item
|
63005
|
301 Print hardcopy with @kbd{M-x print-region} (@pxref{Printing}).
|
25829
|
302 @item
|
|
303 Evaluate it as Lisp code with @kbd{M-x eval-region} (@pxref{Lisp Eval}).
|
68457
|
304 @item
|
68512
|
305 Undo changes within it using @kbd{C-u C-x u} (@pxref{Undo}).
|
25829
|
306 @end itemize
|
|
307
|
38482
|
308 Most commands that operate on the text in the region have the word
|
38461
|
309 @code{region} in their names.
|
25829
|
310
|
|
311 @node Marking Objects
|
|
312 @section Commands to Mark Textual Objects
|
|
313
|
|
314 @cindex marking sections of text
|
|
315 Here are the commands for placing point and the mark around a textual
|
|
316 object such as a word, list, paragraph or page.
|
|
317
|
|
318 @table @kbd
|
|
319 @item M-@@
|
38786
|
320 Set mark after end of next word (@code{mark-word}). This command and
|
25829
|
321 the following one do not move point.
|
|
322 @item C-M-@@
|
38786
|
323 Set mark after end of following balanced expression (@code{mark-sexp}).
|
25829
|
324 @item M-h
|
38786
|
325 Put region around current paragraph (@code{mark-paragraph}).
|
25829
|
326 @item C-M-h
|
38786
|
327 Put region around current defun (@code{mark-defun}).
|
25829
|
328 @item C-x h
|
38461
|
329 Put region around the entire buffer (@code{mark-whole-buffer}).
|
25829
|
330 @item C-x C-p
|
38786
|
331 Put region around current page (@code{mark-page}).
|
25829
|
332 @end table
|
|
333
|
38207
e24d77a5adf1
Say "expression" instead of "sexp". Update xref, Sexps -> Expressions.
Richard M. Stallman <rms@gnu.org>
diff
changeset
|
334 @kbd{M-@@} (@code{mark-word}) puts the mark at the end of the next
|
e24d77a5adf1
Say "expression" instead of "sexp". Update xref, Sexps -> Expressions.
Richard M. Stallman <rms@gnu.org>
diff
changeset
|
335 word, while @kbd{C-M-@@} (@code{mark-sexp}) puts it at the end of the
|
e24d77a5adf1
Say "expression" instead of "sexp". Update xref, Sexps -> Expressions.
Richard M. Stallman <rms@gnu.org>
diff
changeset
|
336 next balanced expression (@pxref{Expressions}). These commands handle
|
73179
|
337 arguments just like @kbd{M-f} and @kbd{C-M-f}. Repeating these
|
|
338 commands extends the region. For example, you can type either
|
|
339 @kbd{C-u 2 M-@@} or @kbd{M-@@ M-@@} to mark the next two words. These
|
|
340 commands also extend the region in Transient Mark mode, regardless of
|
|
341 the last command.
|
25829
|
342
|
|
343 @kindex C-x h
|
|
344 @findex mark-whole-buffer
|
|
345 Other commands set both point and mark, to delimit an object in the
|
|
346 buffer. For example, @kbd{M-h} (@code{mark-paragraph}) moves point to
|
41748
|
347 the beginning of the paragraph that surrounds or follows point, and
|
|
348 puts the mark at the end of that paragraph (@pxref{Paragraphs}). It
|
|
349 prepares the region so you can indent, case-convert, or kill a whole
|
73179
|
350 paragraph. With a prefix argument, if the argument's value is positive,
|
41795
|
351 @kbd{M-h} marks that many paragraphs starting with the one surrounding
|
|
352 point. If the prefix argument is @minus{}@var{n}, @kbd{M-h} also
|
|
353 marks @var{n} paragraphs, running back form the one surrounding point.
|
|
354 In that last case, point moves forward to the end of that paragraph,
|
60244
|
355 and the mark goes at the start of the region. Repeating the @kbd{M-h}
|
68512
|
356 command extends the region to subsequent paragraphs.
|
25829
|
357
|
38461
|
358 @kbd{C-M-h} (@code{mark-defun}) similarly puts point before, and the
|
38786
|
359 mark after, the current (or following) major top-level definition, or
|
68512
|
360 defun (@pxref{Moving by Defuns}). Repeating @kbd{C-M-h} extends
|
|
361 the region to subsequent defuns.
|
60244
|
362
|
|
363 @kbd{C-x C-p} (@code{mark-page}) puts point before the current page,
|
|
364 and mark at the end (@pxref{Pages}). The mark goes after the
|
|
365 terminating page delimiter (to include it in the region), while point
|
|
366 goes after the preceding page delimiter (to exclude it). A numeric
|
|
367 argument specifies a later page (if positive) or an earlier page (if
|
|
368 negative) instead of the current page.
|
25829
|
369
|
|
370 Finally, @kbd{C-x h} (@code{mark-whole-buffer}) sets up the entire
|
|
371 buffer as the region, by putting point at the beginning and the mark at
|
72417
|
372 the end. (In some programs this is called ``select all.'')
|
25829
|
373
|
|
374 In Transient Mark mode, all of these commands activate the mark.
|
|
375
|
|
376 @node Mark Ring
|
|
377 @section The Mark Ring
|
|
378
|
|
379 @kindex C-u C-SPC
|
|
380 @cindex mark ring
|
|
381 @kindex C-u C-@@
|
|
382 Aside from delimiting the region, the mark is also useful for
|
|
383 remembering a spot that you may want to go back to. To make this
|
|
384 feature more useful, each buffer remembers 16 previous locations of the
|
|
385 mark, in the @dfn{mark ring}. Commands that set the mark also push the
|
|
386 old mark onto this ring. To return to a marked location, use @kbd{C-u
|
38490
|
387 C-@key{SPC}} (or @kbd{C-u C-@@}); this is the command
|
25829
|
388 @code{set-mark-command} given a numeric argument. It moves point to
|
|
389 where the mark was, and restores the mark from the ring of former
|
46237
|
390 marks.
|
|
391
|
66672
|
392 @vindex set-mark-command-repeat-pop
|
|
393 If you set @code{set-mark-command-repeat-pop} to non-@code{nil},
|
66688
|
394 then when you repeat the character @kbd{C-@key{SPC}} after typing
|
66672
|
395 @kbd{C-u C-@key{SPC}}, each repetition moves point to a previous mark
|
|
396 position from the ring. The mark positions you move through in this
|
|
397 way are not lost; they go to the end of the ring.
|
25829
|
398
|
|
399 Each buffer has its own mark ring. All editing commands use the current
|
|
400 buffer's mark ring. In particular, @kbd{C-u C-@key{SPC}} always stays in
|
|
401 the same buffer.
|
|
402
|
|
403 Many commands that can move long distances, such as @kbd{M-<}
|
|
404 (@code{beginning-of-buffer}), start by setting the mark and saving the
|
|
405 old mark on the mark ring. This is to make it easier for you to move
|
58974
|
406 back later. Searches set the mark if they move point. However, in
|
|
407 Transient Mark mode, these commands do not set the mark when the mark
|
|
408 is already active. You can tell when a command sets the mark because
|
|
409 it displays @samp{Mark set} in the echo area.
|
25829
|
410
|
|
411 If you want to move back to the same place over and over, the mark
|
|
412 ring may not be convenient enough. If so, you can record the position
|
37316
|
413 in a register for later retrieval (@pxref{RegPos,, Saving Positions in
|
|
414 Registers}).
|
25829
|
415
|
|
416 @vindex mark-ring-max
|
|
417 The variable @code{mark-ring-max} specifies the maximum number of
|
|
418 entries to keep in the mark ring. If that many entries exist and
|
38461
|
419 another one is pushed, the earliest one in the list is discarded. Repeating
|
25829
|
420 @kbd{C-u C-@key{SPC}} cycles through the positions currently in the
|
|
421 ring.
|
|
422
|
|
423 @vindex mark-ring
|
|
424 The variable @code{mark-ring} holds the mark ring itself, as a list of
|
|
425 marker objects, with the most recent first. This variable is local in
|
|
426 every buffer.
|
|
427
|
|
428 @node Global Mark Ring
|
|
429 @section The Global Mark Ring
|
|
430 @cindex global mark ring
|
|
431
|
|
432 In addition to the ordinary mark ring that belongs to each buffer,
|
|
433 Emacs has a single @dfn{global mark ring}. It records a sequence of
|
|
434 buffers in which you have recently set the mark, so you can go back
|
|
435 to those buffers.
|
|
436
|
|
437 Setting the mark always makes an entry on the current buffer's mark
|
|
438 ring. If you have switched buffers since the previous mark setting, the
|
|
439 new mark position makes an entry on the global mark ring also. The
|
|
440 result is that the global mark ring records a sequence of buffers that
|
|
441 you have been in, and, for each buffer, a place where you set the mark.
|
|
442
|
|
443 @kindex C-x C-@key{SPC}
|
|
444 @findex pop-global-mark
|
|
445 The command @kbd{C-x C-@key{SPC}} (@code{pop-global-mark}) jumps to
|
|
446 the buffer and position of the latest entry in the global ring. It also
|
|
447 rotates the ring, so that successive uses of @kbd{C-x C-@key{SPC}} take
|
|
448 you to earlier and earlier buffers.
|
|
449
|
52401
|
450 @ignore
|
|
451 arch-tag: f35e4d82-911b-4cfc-a3d7-3c87b2abba20
|
|
452 @end ignore
|