blob: c3bf2d312ec0827cb8ccd6a46697caed2ded2922 [file] [log] [blame]
Bram Moolenaar1c6737b2020-09-07 22:18:52 +02001*usr_03.txt* For Vim version 8.2. Last change: 2020 Sep 03
Bram Moolenaar071d4272004-06-13 20:20:40 +00002
3 VIM USER MANUAL - by Bram Moolenaar
4
5 Moving around
6
7
8Before you can insert or delete text the cursor has to be moved to the right
9place. Vim has a large number of commands to position the cursor. This
10chapter shows you how to use the most important ones. You can find a list of
11these commands below |Q_lr|.
12
13|03.1| Word movement
14|03.2| Moving to the start or end of a line
15|03.3| Moving to a character
Bram Moolenaar4399ef42005-02-12 14:29:27 +000016|03.4| Matching a parenthesis
Bram Moolenaar071d4272004-06-13 20:20:40 +000017|03.5| Moving to a specific line
18|03.6| Telling where you are
19|03.7| Scrolling around
20|03.8| Simple searches
21|03.9| Simple search patterns
22|03.10| Using marks
23
24 Next chapter: |usr_04.txt| Making small changes
25 Previous chapter: |usr_02.txt| The first steps in Vim
26Table of contents: |usr_toc.txt|
27
28==============================================================================
29*03.1* Word movement
30
31To move the cursor forward one word, use the "w" command. Like most Vim
32commands, you can use a numeric prefix to move past multiple words. For
Bram Moolenaar1c6737b2020-09-07 22:18:52 +020033example, "3w" moves three words. This figure shows how it works (starting at
34the position marked with "x"):
Bram Moolenaar071d4272004-06-13 20:20:40 +000035
36 This is a line with example text ~
Bram Moolenaar1c6737b2020-09-07 22:18:52 +020037 x-->-->->----------------->
Bram Moolenaar071d4272004-06-13 20:20:40 +000038 w w w 3w
39
40Notice that "w" moves to the start of the next word if it already is at the
41start of a word.
42 The "b" command moves backward to the start of the previous word:
43
44 This is a line with example text ~
Bram Moolenaar1c6737b2020-09-07 22:18:52 +020045 <----<--<-<---------<--x
Bram Moolenaar071d4272004-06-13 20:20:40 +000046 b b b 2b b
47
48There is also the "e" command that moves to the next end of a word and "ge",
49which moves to the previous end of a word:
50
51 This is a line with example text ~
Bram Moolenaar1c6737b2020-09-07 22:18:52 +020052 <----<----x---->------------>
53 2ge ge e we
Bram Moolenaar071d4272004-06-13 20:20:40 +000054
55If you are at the last word of a line, the "w" command will take you to the
56first word in the next line. Thus you can use this to move through a
57paragraph, much faster than using "l". "b" does the same in the other
58direction.
59
60A word ends at a non-word character, such as a ".", "-" or ")". To change
Bram Moolenaar256972a2015-12-29 19:10:25 +010061what Vim considers to be a word, see the 'iskeyword' option. If you try this
62out in the help directly, 'iskeyword' needs to be reset for the examples to
63work: >
64 :set iskeyword&
65It is also possible to move by white-space separated WORDs. This is not a
Bram Moolenaar071d4272004-06-13 20:20:40 +000066word in the normal sense, that's why the uppercase is used. The commands for
67moving by WORDs are also uppercase, as this figure shows:
68
69 ge b w e
70 <- <- ---> --->
71 This is-a line, with special/separated/words (and some more). ~
72 <----- <----- --------------------> ----->
73 gE B W E
74
75With this mix of lowercase and uppercase commands, you can quickly move
76forward and backward through a paragraph.
77
78==============================================================================
79*03.2* Moving to the start or end of a line
80
81The "$" command moves the cursor to the end of a line. If your keyboard has
82an <End> key it will do the same thing.
83
84The "^" command moves to the first non-blank character of the line. The "0"
Bram Moolenaar0c0734d2019-11-26 21:44:46 +010085command (zero) moves to the very first character of the line, and the <Home>
Bram Moolenaar1c6737b2020-09-07 22:18:52 +020086key does the same thing. In a picture ("." indicates a space):
Bram Moolenaar071d4272004-06-13 20:20:40 +000087
88 ^
Bram Moolenaar1c6737b2020-09-07 22:18:52 +020089 <-----------x
Bram Moolenaar071d4272004-06-13 20:20:40 +000090 .....This is a line with example text ~
Bram Moolenaar1c6737b2020-09-07 22:18:52 +020091 <----------------x x-------------->
Bram Moolenaar071d4272004-06-13 20:20:40 +000092 0 $
93
94(the "....." indicates blanks here)
95
96 The "$" command takes a count, like most movement commands. But moving to
97the end of the line several times doesn't make sense. Therefore it causes the
98editor to move to the end of another line. For example, "1$" moves you to
99the end of the first line (the one you're on), "2$" to the end of the next
100line, and so on.
101 The "0" command doesn't take a count argument, because the "0" would be
102part of the count. Unexpectedly, using a count with "^" doesn't have any
103effect.
104
105==============================================================================
106*03.3* Moving to a character
107
108One of the most useful movement commands is the single-character search
109command. The command "fx" searches forward in the line for the single
110character x. Hint: "f" stands for "Find".
111 For example, you are at the beginning of the following line. Suppose you
112want to go to the h of human. Just execute the command "fh" and the cursor
113will be positioned over the h:
114
115 To err is human. To really foul up you need a computer. ~
116 ---------->--------------->
117 fh fy
118
119This also shows that the command "fy" moves to the end of the word really.
120 You can specify a count; therefore, you can go to the "l" of "foul" with
121"3fl":
122
123 To err is human. To really foul up you need a computer. ~
124 --------------------->
125 3fl
126
127The "F" command searches to the left:
128
129 To err is human. To really foul up you need a computer. ~
130 <---------------------
131 Fh
132
133The "tx" command works like the "fx" command, except it stops one character
134before the searched character. Hint: "t" stands for "To". The backward
135version of this command is "Tx".
136
137 To err is human. To really foul up you need a computer. ~
138 <------------ ------------->
139 Th tn
140
141These four commands can be repeated with ";". "," repeats in the other
142direction. The cursor is never moved to another line. Not even when the
143sentence continues.
144
145Sometimes you will start a search, only to realize that you have typed the
146wrong command. You type "f" to search backward, for example, only to realize
147that you really meant "F". To abort a search, press <Esc>. So "f<Esc>" is an
148aborted forward search and doesn't do anything. Note: <Esc> cancels most
149operations, not just searches.
150
151==============================================================================
Bram Moolenaar4399ef42005-02-12 14:29:27 +0000152*03.4* Matching a parenthesis
Bram Moolenaar071d4272004-06-13 20:20:40 +0000153
154When writing a program you often end up with nested () constructs. Then the
155"%" command is very handy: It moves to the matching paren. If the cursor is
156on a "(" it will move to the matching ")". If it's on a ")" it will move to
157the matching "(".
158
159 %
160 <----->
161 if (a == (b * c) / d) ~
162 <---------------->
163 %
164
165This also works for [] and {} pairs. (This can be defined with the
166'matchpairs' option.)
167
168When the cursor is not on a useful character, "%" will search forward to find
169one. Thus if the cursor is at the start of the line of the previous example,
170"%" will search forward and find the first "(". Then it moves to its match:
171
172 if (a == (b * c) / d) ~
173 ---+---------------->
174 %
175
176==============================================================================
177*03.5* Moving to a specific line
178
179If you are a C or C++ programmer, you are familiar with error messages such as
180the following:
181
182 prog.c:33: j undeclared (first use in this function) ~
183
184This tells you that you might want to fix something on line 33. So how do you
185find line 33? One way is to do "9999k" to go to the top of the file and "32j"
Bram Moolenaar3df01732017-02-17 22:47:16 +0100186to go down thirty-two lines. It is not a good way, but it works. A much
Bram Moolenaar071d4272004-06-13 20:20:40 +0000187better way of doing things is to use the "G" command. With a count, this
188command positions you at the given line number. For example, "33G" puts you
189on line 33. (For a better way of going through a compiler's error list, see
190|usr_30.txt|, for information on the :make command.)
191 With no argument, "G" positions you at the end of the file. A quick way to
192go to the start of a file use "gg". "1G" will do the same, but is a tiny bit
193more typing.
194
195 | first line of a file ^
196 | text text text text |
197 | text text text text | gg
198 7G | text text text text |
199 | text text text text
200 | text text text text
201 V text text text text |
202 text text text text | G
203 text text text text |
204 last line of a file V
205
206Another way to move to a line is using the "%" command with a count. For
207example "50%" moves you to halfway the file. "90%" goes to near the end.
208
209The previous assumes that you want to move to a line in the file, no matter if
210it's currently visible or not. What if you want to move to one of the lines
211you can see? This figure shows the three commands you can use:
212
213 +---------------------------+
214 H --> | text sample text |
215 | sample text |
216 | text sample text |
217 | sample text |
218 M --> | text sample text |
219 | sample text |
220 | text sample text |
221 | sample text |
222 L --> | text sample text |
223 +---------------------------+
224
Bram Moolenaar0c0734d2019-11-26 21:44:46 +0100225Hints: "H" stands for Home, "M" for Middle and "L" for Last. Alternatively,
226"H" for high, "M" for Middle and "L" for low.
Bram Moolenaar071d4272004-06-13 20:20:40 +0000227
228==============================================================================
229*03.6* Telling where you are
230
231To see where you are in a file, there are three ways:
232
2331. Use the CTRL-G command. You get a message like this (assuming the 'ruler'
234 option is off):
235
236 "usr_03.txt" line 233 of 650 --35%-- col 45-52 ~
237
238 This shows the name of the file you are editing, the line number where the
239 cursor is, the total number of lines, the percentage of the way through
240 the file and the column of the cursor.
241 Sometimes you will see a split column number. For example, "col 2-9".
242 This indicates that the cursor is positioned on the second character, but
243 because character one is a tab, occupying eight spaces worth of columns,
244 the screen column is 9.
245
2462. Set the 'number' option. This will display a line number in front of
247 every line: >
248
249 :set number
250<
251 To switch this off again: >
252
253 :set nonumber
254<
255 Since 'number' is a boolean option, prepending "no" to its name has the
256 effect of switching it off. A boolean option has only these two values,
257 it is either on or off.
258 Vim has many options. Besides the boolean ones there are options with
259 a numerical value and string options. You will see examples of this where
260 they are used.
261
2623. Set the 'ruler' option. This will display the cursor position in the
263 lower right corner of the Vim window: >
264
265 :set ruler
266
267Using the 'ruler' option has the advantage that it doesn't take much room,
268thus there is more space for your text.
269
270==============================================================================
271*03.7* Scrolling around
272
273The CTRL-U command scrolls down half a screen of text. Think of looking
274through a viewing window at the text and moving this window up by half the
275height of the window. Thus the window moves up over the text, which is
276backward in the file. Don't worry if you have a little trouble remembering
277which end is up. Most users have the same problem.
278 The CTRL-D command moves the viewing window down half a screen in the file,
279thus scrolls the text up half a screen.
280
281 +----------------+
282 | some text |
283 | some text |
284 | some text |
285 +---------------+ | some text |
286 | some text | CTRL-U --> | |
287 | | | 123456 |
288 | 123456 | +----------------+
289 | 7890 |
290 | | +----------------+
291 | example | CTRL-D --> | 7890 |
292 +---------------+ | |
293 | example |
294 | example |
295 | example |
296 | example |
297 +----------------+
298
299To scroll one line at a time use CTRL-E (scroll up) and CTRL-Y (scroll down).
300Think of CTRL-E to give you one line Extra. (If you use MS-Windows compatible
301key mappings CTRL-Y will redo a change instead of scroll.)
302
Bram Moolenaar0c0734d2019-11-26 21:44:46 +0100303To scroll forward by a whole screen (except for two lines) use CTRL-F. To
304scroll backwards, use CTRL-B. These should be easy to remember: F for
305Forwards and B for Backwards.
Bram Moolenaar071d4272004-06-13 20:20:40 +0000306
307A common issue is that after moving down many lines with "j" your cursor is at
308the bottom of the screen. You would like to see the context of the line with
309the cursor. That's done with the "zz" command.
310
311 +------------------+ +------------------+
Bram Moolenaar0c0734d2019-11-26 21:44:46 +0100312 | earlier text | | earlier text |
313 | earlier text | | earlier text |
314 | earlier text | | earlier text |
315 | earlier text | zz --> | line with cursor |
316 | earlier text | | later text |
317 | earlier text | | later text |
318 | line with cursor | | later text |
Bram Moolenaar071d4272004-06-13 20:20:40 +0000319 +------------------+ +------------------+
320
321The "zt" command puts the cursor line at the top, "zb" at the bottom. There
322are a few more scrolling commands, see |Q_sc|. To always keep a few lines of
323context around the cursor, use the 'scrolloff' option.
324
325==============================================================================
326*03.8* Simple searches
327
328To search for a string, use the "/string" command. To find the word include,
329for example, use the command: >
330
331 /include
332
333You will notice that when you type the "/" the cursor jumps to the last line
334of the Vim window, like with colon commands. That is where you type the word.
335You can press the backspace key (backarrow or <BS>) to make corrections. Use
336the <Left> and <Right> cursor keys when necessary.
337 Pressing <Enter> executes the command.
338
339 Note:
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000340 The characters .*[]^%/\?~$ have special meanings. If you want to use
Bram Moolenaar071d4272004-06-13 20:20:40 +0000341 them in a search you must put a \ in front of them. See below.
342
343To find the next occurrence of the same string use the "n" command. Use this
344to find the first #include after the cursor: >
345
346 /#include
347
348And then type "n" several times. You will move to each #include in the text.
349You can also use a count if you know which match you want. Thus "3n" finds
Bram Moolenaareab6dff2020-03-01 19:06:45 +0100350the third match. You can also use a count with "/": "4/the" goes to the
351fourth match of "the".
Bram Moolenaar071d4272004-06-13 20:20:40 +0000352
353The "?" command works like "/" but searches backwards: >
354
355 ?word
356
357The "N" command repeats the last search the opposite direction. Thus using
Bram Moolenaarb6e0ec62017-07-23 22:12:20 +0200358"N" after a "/" command searches backwards, using "N" after "?" searches
Bram Moolenaar0c0734d2019-11-26 21:44:46 +0100359forwards.
Bram Moolenaar071d4272004-06-13 20:20:40 +0000360
361
362IGNORING CASE
363
364Normally you have to type exactly what you want to find. If you don't care
365about upper or lowercase in a word, set the 'ignorecase' option: >
366
367 :set ignorecase
368
369If you now search for "word", it will also match "Word" and "WORD". To match
370case again: >
371
372 :set noignorecase
373
374
375HISTORY
376
377Suppose you do three searches: >
378
379 /one
380 /two
381 /three
382
383Now let's start searching by typing a simple "/" without pressing <Enter>. If
384you press <Up> (the cursor key), Vim puts "/three" on the command line.
385Pressing <Enter> at this point searches for three. If you do not press
386<Enter>, but press <Up> instead, Vim changes the prompt to "/two". Another
387press of <Up> moves you to "/one".
388 You can also use the <Down> cursor key to move through the history of
389search commands in the other direction.
390
391If you know what a previously used pattern starts with, and you want to use it
392again, type that character before pressing <Up>. With the previous example,
393you can type "/o<Up>" and Vim will put "/one" on the command line.
394
395The commands starting with ":" also have a history. That allows you to recall
396a previous command and execute it again. These two histories are separate.
397
398
399SEARCHING FOR A WORD IN THE TEXT
400
401Suppose you see the word "TheLongFunctionName" in the text and you want to
402find the next occurrence of it. You could type "/TheLongFunctionName", but
403that's a lot of typing. And when you make a mistake Vim won't find it.
404 There is an easier way: Position the cursor on the word and use the "*"
405command. Vim will grab the word under the cursor and use it as the search
406string.
407 The "#" command does the same in the other direction. You can prepend a
408count: "3*" searches for the third occurrence of the word under the cursor.
409
410
411SEARCHING FOR WHOLE WORDS
412
413If you type "/the" it will also match "there". To only find words that end
414in "the" use: >
415
416 /the\>
417
418The "\>" item is a special marker that only matches at the end of a word.
Bram Moolenaaracb4f222016-01-10 15:59:26 +0100419Similarly "\<" only matches at the beginning of a word. Thus to search for
420the word "the" only: >
Bram Moolenaar071d4272004-06-13 20:20:40 +0000421
422 /\<the\>
423
424This does not match "there" or "soothe". Notice that the "*" and "#" commands
425use these start-of-word and end-of-word markers to only find whole words (you
426can use "g*" and "g#" to match partial words).
427
428
429HIGHLIGHTING MATCHES
430
431While editing a program you see a variable called "nr". You want to check
432where it's used. You could move the cursor to "nr" and use the "*" command
433and press "n" to go along all the matches.
434 There is another way. Type this command: >
435
436 :set hlsearch
437
438If you now search for "nr", Vim will highlight all matches. That is a very
439good way to see where the variable is used, without the need to type commands.
440 To switch this off: >
441
442 :set nohlsearch
443
444Then you need to switch it on again if you want to use it for the next search
445command. If you only want to remove the highlighting, use this command: >
446
447 :nohlsearch
448
449This doesn't reset the option. Instead, it disables the highlighting. As
450soon as you execute a search command, the highlighting will be used again.
451Also for the "n" and "N" commands.
452
453
454TUNING SEARCHES
455
456There are a few options that change how searching works. These are the
457essential ones:
458>
459 :set incsearch
460
461This makes Vim display the match for the string while you are still typing it.
462Use this to check if the right match will be found. Then press <Enter> to
463really jump to that location. Or type more to change the search string.
464>
465 :set nowrapscan
466
467This stops the search at the end of the file. Or, when you are searching
Bram Moolenaar0c0734d2019-11-26 21:44:46 +0100468backwards, it stops the search at the start of the file. The 'wrapscan'
469option is on by default, thus searching wraps around the end of the file.
Bram Moolenaar071d4272004-06-13 20:20:40 +0000470
471
472INTERMEZZO
473
474If you like one of the options mentioned before, and set it each time you use
475Vim, you can put the command in your Vim startup file.
476 Edit the file, as mentioned at |not-compatible|. Or use this command to
477find out where it is: >
478
479 :scriptnames
480
481Edit the file, for example with: >
482
483 :edit ~/.vimrc
484
485Then add a line with the command to set the option, just like you typed it in
486Vim. Example: >
487
488 Go:set hlsearch<Esc>
489
490"G" moves to the end of the file. "o" starts a new line, where you type the
Bram Moolenaar0c0734d2019-11-26 21:44:46 +0100491":set" command. You end insert mode with <Esc>. Then write and close the
492file: >
Bram Moolenaar071d4272004-06-13 20:20:40 +0000493
494 ZZ
495
496If you now start Vim again, the 'hlsearch' option will already be set.
497
498==============================================================================
499*03.9* Simple search patterns
500
501The Vim editor uses regular expressions to specify what to search for.
502Regular expressions are an extremely powerful and compact way to specify a
503search pattern. Unfortunately, this power comes at a price, because regular
504expressions are a bit tricky to specify.
505 In this section we mention only a few essential ones. More about search
Bram Moolenaar0c0734d2019-11-26 21:44:46 +0100506patterns and commands can be found in chapter 27 |usr_27.txt|. You can find
507the full explanation here: |pattern|.
Bram Moolenaar071d4272004-06-13 20:20:40 +0000508
509
510BEGINNING AND END OF A LINE
511
512The ^ character matches the beginning of a line. On an English-US keyboard
513you find it above the 6. The pattern "include" matches the word include
514anywhere on the line. But the pattern "^include" matches the word include
515only if it is at the beginning of a line.
516 The $ character matches the end of a line. Therefore, "was$" matches the
517word was only if it is at the end of a line.
518
Bram Moolenaarb6e0ec62017-07-23 22:12:20 +0200519Let's mark the places where "/the" matches in this example line with "x"s:
Bram Moolenaar071d4272004-06-13 20:20:40 +0000520
521 the solder holding one of the chips melted and the ~
522 xxx xxx xxx
523
524Using "/the$" we find this match:
525
526 the solder holding one of the chips melted and the ~
527 xxx
528
529And with "/^the" we find this one:
530 the solder holding one of the chips melted and the ~
531 xxx
532
Bram Moolenaar0c0734d2019-11-26 21:44:46 +0100533You can try searching with "/^the$"; it will only match a single line
534consisting entirely of "the". White space does matter here, thus if a line
535contains a space after the word, like "the ", the pattern will not match.
Bram Moolenaar071d4272004-06-13 20:20:40 +0000536
537
538MATCHING ANY SINGLE CHARACTER
539
540The . (dot) character matches any existing character. For example, the
541pattern "c.m" matches a string whose first character is a c, whose second
Bram Moolenaar8a94d872015-01-25 13:02:57 +0100542character is anything, and whose third character is m. Example:
Bram Moolenaar071d4272004-06-13 20:20:40 +0000543
544 We use a computer that became the cummin winter. ~
545 xxx xxx xxx
546
547
548MATCHING SPECIAL CHARACTERS
549
550If you really want to match a dot, you must avoid its special meaning by
551putting a backslash before it.
552 If you search for "ter.", you will find these matches:
553
554 We use a computer that became the cummin winter. ~
555 xxxx xxxx
556
557Searching for "ter\." only finds the second match.
558
559==============================================================================
560*03.10* Using marks
561
562When you make a jump to a position with the "G" command, Vim remembers the
563position from before this jump. This position is called a mark. To go back
564where you came from, use this command: >
565
566 ``
567
568This ` is a backtick or open single-quote character.
569 If you use the same command a second time you will jump back again. That's
Bram Moolenaar0c0734d2019-11-26 21:44:46 +0100570because the "`" command is a jump itself, and the position from before this
571jump is remembered.
Bram Moolenaar071d4272004-06-13 20:20:40 +0000572
573Generally, every time you do a command that can move the cursor further than
574within the same line, this is called a jump. This includes the search
575commands "/" and "n" (it doesn't matter how far away the match is). But not
576the character searches with "fx" and "tx" or the word movements "w" and "e".
Bram Moolenaar0c0734d2019-11-26 21:44:46 +0100577 Also, "j" and "k" are not considered to be a jump, even when you use a
Bram Moolenaar071d4272004-06-13 20:20:40 +0000578count to make them move the cursor quite a long way away.
579
Bram Moolenaar0c0734d2019-11-26 21:44:46 +0100580The "``" command jumps back and forth, between two points. The CTRL-O command
Bram Moolenaar071d4272004-06-13 20:20:40 +0000581jumps to older positions (Hint: O for older). CTRL-I then jumps back to newer
Bram Moolenaar0c0734d2019-11-26 21:44:46 +0100582positions (Hint: for many common keyboard layouts, I is just next to O).
583Consider this sequence of commands: >
Bram Moolenaar071d4272004-06-13 20:20:40 +0000584
585 33G
586 /^The
587 CTRL-O
588
589You first jump to line 33, then search for a line that starts with "The".
590Then with CTRL-O you jump back to line 33. Another CTRL-O takes you back to
591where you started. If you now use CTRL-I you jump to line 33 again. And
592to the match for "The" with another CTRL-I.
593
594
595 | example text ^ |
596 33G | example text | CTRL-O | CTRL-I
597 | example text | |
598 V line 33 text ^ V
599 | example text | |
600 /^The | example text | CTRL-O | CTRL-I
601 V There you are | V
602 example text
603
604 Note:
605 CTRL-I is the same as <Tab>.
606
607The ":jumps" command gives a list of positions you jumped to. The entry which
608you used last is marked with a ">".
609
610
Bram Moolenaar8fef2ad2005-04-23 20:42:23 +0000611NAMED MARKS *bookmark*
Bram Moolenaar071d4272004-06-13 20:20:40 +0000612
613Vim enables you to place your own marks in the text. The command "ma" marks
614the place under the cursor as mark a. You can place 26 marks (a through z) in
615your text. You can't see them, it's just a position that Vim remembers.
Bram Moolenaar9964e462007-05-05 17:54:07 +0000616 To go to a mark, use the command `{mark}, where {mark} is the mark letter.
Bram Moolenaar071d4272004-06-13 20:20:40 +0000617Thus to move to the a mark:
618>
619 `a
620
Bram Moolenaar0c0734d2019-11-26 21:44:46 +0100621The command "'mark" (single quotation mark, or apostrophe) moves you to the
622beginning of the line containing the mark. This differs from the "`mark"
623command, which also moves you to the marked column.
Bram Moolenaar071d4272004-06-13 20:20:40 +0000624
625The marks can be very useful when working on two related parts in a file.
626Suppose you have some text near the start of the file you need to look at,
627while working on some text near the end of the file.
628 Move to the text at the start and place the s (start) mark there: >
629
630 ms
631
Bram Moolenaar9964e462007-05-05 17:54:07 +0000632Then move to the text you want to work on and put the e (end) mark there: >
Bram Moolenaar071d4272004-06-13 20:20:40 +0000633
634 me
635
636Now you can move around, and when you want to look at the start of the file,
637you use this to jump there: >
638
639 's
640
641Then you can use '' to jump back to where you were, or 'e to jump to the text
642you were working on at the end.
643 There is nothing special about using s for start and e for end, they are
644just easy to remember.
645
646You can use this command to get a list of marks: >
647
648 :marks
649
650You will notice a few special marks. These include:
651
652 ' The cursor position before doing a jump
653 " The cursor position when last editing the file
654 [ Start of the last change
655 ] End of the last change
656
657==============================================================================
658
659Next chapter: |usr_04.txt| Making small changes
660
Bram Moolenaard473c8c2018-08-11 18:00:22 +0200661Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl: