annotate runtime/doc/motion.txt @ 35200:7f5de3ce54c8 default tip

runtime(doc): clarify temporary file clean up Commit: https://github.com/vim/vim/commit/5cf5301e2847c5a1a380ae030c58825b5c6fe275 Author: Christian Brabandt <cb@256bit.org> Date: Sat May 18 10:13:11 2024 +0200 runtime(doc): clarify temporary file clean up related: https://github.com/vim/vim/issues/14770 Co-authored-by: Enno <Konfekt@users.noreply.github.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Sat, 18 May 2024 10:30:03 +0200
parents 21fc3f1676be
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
34057
4635e43f2c6f patch 9.1.0000: Vim 9.1 release
Christian Brabandt <cb@256bit.org>
parents: 34020
diff changeset
1 *motion.txt* For Vim version 9.1. Last change: 2023 Dec 27
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
3
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
4 VIM REFERENCE MANUAL by Bram Moolenaar
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
5
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
6
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
7 Cursor motions *cursor-motions* *navigation*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
8
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
9 These commands move the cursor position. If the new position is off of the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
10 screen, the screen is scrolled to show the cursor (see also 'scrolljump' and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
11 'scrolloff' options).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
12
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
13 1. Motions and operators |operator|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
14 2. Left-right motions |left-right-motions|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
15 3. Up-down motions |up-down-motions|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
16 4. Word motions |word-motions|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
17 5. Text object motions |object-motions|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
18 6. Text object selection |object-select|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
19 7. Marks |mark-motions|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
20 8. Jumps |jump-motions|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
21 9. Various motions |various-motions|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
22
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
23 General remarks:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
24
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
25 If you want to know where you are in the file use the "CTRL-G" command
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
26 |CTRL-G| or the "g CTRL-G" command |g_CTRL-G|. If you set the 'ruler' option,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
27 the cursor position is continuously shown in the status line (which slows down
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
28 Vim a little).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
29
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
30 Experienced users prefer the hjkl keys because they are always right under
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
31 their fingers. Beginners often prefer the arrow keys, because they do not
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
32 know what the hjkl keys do. The mnemonic value of hjkl is clear from looking
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
33 at the keyboard. Think of j as an arrow pointing downwards.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
34
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
35 The 'virtualedit' option can be set to make it possible to move the cursor to
28379
6dd88e45d47d Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 27903
diff changeset
36 positions where there is no character or within a multi-column character (like
6dd88e45d47d Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 27903
diff changeset
37 a tab).
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
38
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
39 ==============================================================================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
40 1. Motions and operators *operator*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
41
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
42 The motion commands can be used after an operator command, to have the command
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
43 operate on the text that was moved over. That is the text between the cursor
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
44 position before and after the motion. Operators are generally used to delete
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
45 or change text. The following operators are available:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
46
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
47 |c| c change
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
48 |d| d delete
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
49 |y| y yank into register (does not change the text)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
50 |~| ~ swap case (only if 'tildeop' is set)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
51 |g~| g~ swap case
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
52 |gu| gu make lowercase
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
53 |gU| gU make uppercase
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
54 |!| ! filter through an external program
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
55 |=| = filter through 'equalprg' or C-indenting if empty
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
56 |gq| gq text formatting
16808
c002c4899529 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 16610
diff changeset
57 |gw| gw text formatting with no cursor movement
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
58 |g?| g? ROT13 encoding
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
59 |>| > shift right
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
60 |<| < shift left
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
61 |zf| zf define a fold
3713
9910cbff5f16 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 3682
diff changeset
62 |g@| g@ call function set with the 'operatorfunc' option
24911
fd37be6dc258 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 24278
diff changeset
63 *motion-count-multiplied*
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
64 If the motion includes a count and the operator also had a count before it,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
65 the two counts are multiplied. For example: "2d3w" deletes six words.
24911
fd37be6dc258 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 24278
diff changeset
66 *operator-doubled*
fd37be6dc258 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 24278
diff changeset
67 When doubling the operator it operates on a line. When using a count, before
fd37be6dc258 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 24278
diff changeset
68 or after the first character, that many lines are operated upon. Thus `3dd`
fd37be6dc258 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 24278
diff changeset
69 deletes three lines. A count before and after the first character is
fd37be6dc258 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 24278
diff changeset
70 multiplied, thus `2y3y` yanks six lines.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
71
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
72 After applying the operator the cursor is mostly left at the start of the text
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
73 that was operated upon. For example, "yfe" doesn't move the cursor, but "yFe"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
74 moves the cursor leftwards to the "e" where the yank started.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
75
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
76 *linewise* *characterwise*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
77 The operator either affects whole lines, or the characters between the start
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
78 and end position. Generally, motions that move between lines affect lines
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
79 (are linewise), and motions that move within a line affect characters (are
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
80 characterwise). However, there are some exceptions.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
81
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
82 *exclusive* *inclusive*
456
c4d200412ae9 updated for version 7.0121
vimboss
parents: 422
diff changeset
83 A character motion is either inclusive or exclusive. When inclusive, the
c4d200412ae9 updated for version 7.0121
vimboss
parents: 422
diff changeset
84 start and end position of the motion are included in the operation. When
c4d200412ae9 updated for version 7.0121
vimboss
parents: 422
diff changeset
85 exclusive, the last character towards the end of the buffer is not included.
c4d200412ae9 updated for version 7.0121
vimboss
parents: 422
diff changeset
86 Linewise motions always include the start and end position.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
87
456
c4d200412ae9 updated for version 7.0121
vimboss
parents: 422
diff changeset
88 Which motions are linewise, inclusive or exclusive is mentioned with the
c4d200412ae9 updated for version 7.0121
vimboss
parents: 422
diff changeset
89 command. There are however, two general exceptions:
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
90 1. If the motion is exclusive and the end of the motion is in column 1, the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
91 end of the motion is moved to the end of the previous line and the motion
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
92 becomes inclusive. Example: "}" moves to the first line after a paragraph,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
93 but "d}" will not include that line.
20
4ac1dce8dd5e updated for version 7.0012
vimboss
parents: 12
diff changeset
94 *exclusive-linewise*
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
95 2. If the motion is exclusive, the end of the motion is in column 1 and the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
96 start of the motion was at or before the first non-blank in the line, the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
97 motion becomes linewise. Example: If a paragraph begins with some blanks
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
98 and you do "d}" while standing on the first non-blank, all the lines of
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
99 the paragraph are deleted, including the blanks. If you do a put now, the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
100 deleted lines will be inserted below the cursor position.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
101
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
102 Note that when the operator is pending (the operator command is typed, but the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
103 motion isn't yet), a special set of mappings can be used. See |:omap|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
104
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
105 Instead of first giving the operator and then a motion you can use Visual
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
106 mode: mark the start of the text with "v", move the cursor to the end of the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
107 text that is to be affected and then hit the operator. The text between the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
108 start and the cursor position is highlighted, so you can see what text will
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
109 be operated upon. This allows much more freedom, but requires more key
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
110 strokes and has limited redo functionality. See the chapter on Visual mode
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
111 |Visual-mode|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
112
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
113 You can use a ":" command for a motion. For example "d:call FindEnd()".
4229
fa4089df54bc Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 3750
diff changeset
114 But this can't be repeated with "." if the command is more than one line.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
115 This can be repeated: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
116 d:call search("f")<CR>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
117 This cannot be repeated: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
118 d:if 1<CR>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
119 call search("f")<CR>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
120 endif<CR>
4229
fa4089df54bc Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 3750
diff changeset
121 Note that when using ":" any motion becomes characterwise exclusive.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
122
15281
97b40b4c6911 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 15033
diff changeset
123 *forced-motion*
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
124 FORCING A MOTION TO BE LINEWISE, CHARACTERWISE OR BLOCKWISE
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
125
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
126 When a motion is not of the type you would like to use, you can force another
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
127 type by using "v", "V" or CTRL-V just after the operator.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
128 Example: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
129 dj
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
130 deletes two lines >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
131 dvj
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
132 deletes from the cursor position until the character below the cursor >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
133 d<C-V>j
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
134 deletes the character under the cursor and the character below the cursor. >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
135
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
136 Be careful with forcing a linewise movement to be used characterwise or
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
137 blockwise, the column may not always be defined.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
138
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
139 *o_v*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
140 v When used after an operator, before the motion command: Force
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
141 the operator to work characterwise, also when the motion is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
142 linewise. If the motion was linewise, it will become
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
143 |exclusive|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
144 If the motion already was characterwise, toggle
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
145 inclusive/exclusive. This can be used to make an exclusive
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
146 motion inclusive and an inclusive motion exclusive.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
147
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
148 *o_V*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
149 V When used after an operator, before the motion command: Force
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
150 the operator to work linewise, also when the motion is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
151 characterwise.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
152
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
153 *o_CTRL-V*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
154 CTRL-V When used after an operator, before the motion command: Force
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
155 the operator to work blockwise. This works like Visual block
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
156 mode selection, with the corners defined by the cursor
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
157 position before and after the motion.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
158
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
159 ==============================================================================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
160 2. Left-right motions *left-right-motions*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
161
2033
de5a43c5eedc Update documentation files.
Bram Moolenaar <bram@zimbu.org>
parents: 1702
diff changeset
162 These commands move the cursor to the specified column in the current line.
de5a43c5eedc Update documentation files.
Bram Moolenaar <bram@zimbu.org>
parents: 1702
diff changeset
163 They stop at the first column and at the end of the line, except "$", which
de5a43c5eedc Update documentation files.
Bram Moolenaar <bram@zimbu.org>
parents: 1702
diff changeset
164 may move to one of the next lines. See 'whichwrap' option to make some of the
de5a43c5eedc Update documentation files.
Bram Moolenaar <bram@zimbu.org>
parents: 1702
diff changeset
165 commands move across line boundaries.
de5a43c5eedc Update documentation files.
Bram Moolenaar <bram@zimbu.org>
parents: 1702
diff changeset
166
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
167 h or *h*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
168 <Left> or *<Left>*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
169 CTRL-H or *CTRL-H* *<BS>*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
170 <BS> [count] characters to the left. |exclusive| motion.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
171 Note: If you prefer <BS> to delete a character, use
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
172 the mapping:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
173 :map CTRL-V<BS> X
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
174 (to enter "CTRL-V<BS>" type the CTRL-V key, followed
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
175 by the <BS> key)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
176 See |:fixdel| if the <BS> key does not do what you
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
177 want.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
178
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
179 l or *l*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
180 <Right> or *<Right>* *<Space>*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
181 <Space> [count] characters to the right. |exclusive| motion.
6823
0303182665d5 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5663
diff changeset
182 See the 'whichwrap' option for adjusting the behavior
0303182665d5 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5663
diff changeset
183 at end of line
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
184
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
185 *0*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
186 0 To the first character of the line. |exclusive|
1121
e63691e7c504 updated for version 7.1a
vimboss
parents: 874
diff changeset
187 motion.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
188
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
189 *<Home>* *<kHome>*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
190 <Home> To the first character of the line. |exclusive|
1121
e63691e7c504 updated for version 7.1a
vimboss
parents: 874
diff changeset
191 motion. When moving up or down next, stay in same
e63691e7c504 updated for version 7.1a
vimboss
parents: 874
diff changeset
192 TEXT column (if possible). Most other commands stay
e63691e7c504 updated for version 7.1a
vimboss
parents: 874
diff changeset
193 in the same SCREEN column. <Home> works like "1|",
e63691e7c504 updated for version 7.1a
vimboss
parents: 874
diff changeset
194 which differs from "0" when the line starts with a
16553
0e473e9e70c2 patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents: 16023
diff changeset
195 <Tab>.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
196
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
197 *^*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
198 ^ To the first non-blank character of the line.
22723
5b7ea82bc18f Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 21991
diff changeset
199 |exclusive| motion. Any count is ignored.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
200
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
201 *$* *<End>* *<kEnd>*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
202 $ or <End> To the end of the line. When a count is given also go
22723
5b7ea82bc18f Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 21991
diff changeset
203 [count - 1] lines downward, or as far is possible.
25056
43593a5d873f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 24911
diff changeset
204 |inclusive| motion. If a count of 2 or larger is
22723
5b7ea82bc18f Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 21991
diff changeset
205 given and the cursor is on the last line, that is an
25056
43593a5d873f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 24911
diff changeset
206 error and the cursor doesn't move.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
207 In Visual mode the cursor goes to just after the last
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
208 character in the line.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
209 When 'virtualedit' is active, "$" may move the cursor
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
210 back from past the end of the line to the last
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
211 character in the line.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
212
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
213 *g_*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
214 g_ To the last non-blank character of the line and
16553
0e473e9e70c2 patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents: 16023
diff changeset
215 [count - 1] lines downward |inclusive|.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
216
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
217 *g0* *g<Home>*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
218 g0 or g<Home> When lines wrap ('wrap' on): To the first character of
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
219 the screen line. |exclusive| motion. Differs from
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
220 "0" when a line is wider than the screen.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
221 When lines don't wrap ('wrap' off): To the leftmost
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
222 character of the current line that is on the screen.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
223 Differs from "0" when the first character of the line
16553
0e473e9e70c2 patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents: 16023
diff changeset
224 is not on the screen.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
225
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
226 *g^*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
227 g^ When lines wrap ('wrap' on): To the first non-blank
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
228 character of the screen line. |exclusive| motion.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
229 Differs from "^" when a line is wider than the screen.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
230 When lines don't wrap ('wrap' off): To the leftmost
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
231 non-blank character of the current line that is on the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
232 screen. Differs from "^" when the first non-blank
16553
0e473e9e70c2 patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents: 16023
diff changeset
233 character of the line is not on the screen.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
234
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
235 *gm*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
236 gm Like "g0", but half a screenwidth to the right (or as
16553
0e473e9e70c2 patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents: 16023
diff changeset
237 much as possible).
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
238
18489
1cd44535be32 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 18475
diff changeset
239 *gM*
18475
709c6b0dc78f patch 8.1.2231: not easy to move to the middle of a text line
Bram Moolenaar <Bram@vim.org>
parents: 16944
diff changeset
240 gM Like "g0", but to halfway the text of the line.
709c6b0dc78f patch 8.1.2231: not easy to move to the middle of a text line
Bram Moolenaar <Bram@vim.org>
parents: 16944
diff changeset
241 With a count: to this percentage of text in the line.
709c6b0dc78f patch 8.1.2231: not easy to move to the middle of a text line
Bram Moolenaar <Bram@vim.org>
parents: 16944
diff changeset
242 Thus "10gM" is near the start of the text and "90gM"
709c6b0dc78f patch 8.1.2231: not easy to move to the middle of a text line
Bram Moolenaar <Bram@vim.org>
parents: 16944
diff changeset
243 is near the end of the text.
709c6b0dc78f patch 8.1.2231: not easy to move to the middle of a text line
Bram Moolenaar <Bram@vim.org>
parents: 16944
diff changeset
244
32888
b1162ad29d73 patch 9.0.1753: can't move to last non-blank char
Christian Brabandt <cb@256bit.org>
parents: 30547
diff changeset
245 *g$*
b1162ad29d73 patch 9.0.1753: can't move to last non-blank char
Christian Brabandt <cb@256bit.org>
parents: 30547
diff changeset
246 g$ When lines wrap ('wrap' on): To the last character of
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
247 the screen line and [count - 1] screen lines downward
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
248 |inclusive|. Differs from "$" when a line is wider
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
249 than the screen.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
250 When lines don't wrap ('wrap' off): To the rightmost
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
251 character of the current line that is visible on the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
252 screen. Differs from "$" when the last character of
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
253 the line is not on the screen or when a count is used.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
254 Additionally, vertical movements keep the column,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
255 instead of going to the end of the line.
5220
050893d44c33 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5146
diff changeset
256 When 'virtualedit' is enabled moves to the end of the
050893d44c33 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5146
diff changeset
257 screen line.
32905
2ad6e8515a78 patch 9.0.1761: g<kEnd> behaves different from g<end>
Christian Brabandt <cb@256bit.org>
parents: 32888
diff changeset
258
2ad6e8515a78 patch 9.0.1761: g<kEnd> behaves different from g<end>
Christian Brabandt <cb@256bit.org>
parents: 32888
diff changeset
259 *g<End>* *g<kEnd>*
32888
b1162ad29d73 patch 9.0.1753: can't move to last non-blank char
Christian Brabandt <cb@256bit.org>
parents: 30547
diff changeset
260 g<End> Like |g$| but to the last non-blank character
b1162ad29d73 patch 9.0.1753: can't move to last non-blank char
Christian Brabandt <cb@256bit.org>
parents: 30547
diff changeset
261 instead of the last character.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
262
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
263 *bar*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
264 | To screen column [count] in the current line.
2033
de5a43c5eedc Update documentation files.
Bram Moolenaar <bram@zimbu.org>
parents: 1702
diff changeset
265 |exclusive| motion. Ceci n'est pas une pipe.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
266
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
267 *f*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
268 f{char} To [count]'th occurrence of {char} to the right. The
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
269 cursor is placed on {char} |inclusive|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
270 {char} can be entered as a digraph |digraph-arg|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
271 When 'encoding' is set to Unicode, composing
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
272 characters may be used, see |utf-8-char-arg|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
273 |:lmap| mappings apply to {char}. The CTRL-^ command
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
274 in Insert mode can be used to switch this on/off
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
275 |i_CTRL-^|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
276
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
277 *F*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
278 F{char} To the [count]'th occurrence of {char} to the left.
456
c4d200412ae9 updated for version 7.0121
vimboss
parents: 422
diff changeset
279 The cursor is placed on {char} |exclusive|.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
280 {char} can be entered like with the |f| command.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
281
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
282 *t*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
283 t{char} Till before [count]'th occurrence of {char} to the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
284 right. The cursor is placed on the character left of
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
285 {char} |inclusive|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
286 {char} can be entered like with the |f| command.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
287
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
288 *T*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
289 T{char} Till after [count]'th occurrence of {char} to the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
290 left. The cursor is placed on the character right of
456
c4d200412ae9 updated for version 7.0121
vimboss
parents: 422
diff changeset
291 {char} |exclusive|.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
292 {char} can be entered like with the |f| command.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
293
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
294 *;*
2925
441d364773dc updated for version 7.3.235
Bram Moolenaar <bram@vim.org>
parents: 2908
diff changeset
295 ; Repeat latest f, t, F or T [count] times. See |cpo-;|
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
296
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
297 *,*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
298 , Repeat latest f, t, F or T in opposite direction
2925
441d364773dc updated for version 7.3.235
Bram Moolenaar <bram@vim.org>
parents: 2908
diff changeset
299 [count] times. See also |cpo-;|
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
300
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
301 ==============================================================================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
302 3. Up-down motions *up-down-motions*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
303
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
304 k or *k*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
305 <Up> or *<Up>* *CTRL-P*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
306 CTRL-P [count] lines upward |linewise|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
307
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
308 j or *j*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
309 <Down> or *<Down>*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
310 CTRL-J or *CTRL-J*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
311 <NL> or *<NL>* *CTRL-N*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
312 CTRL-N [count] lines downward |linewise|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
313
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
314 gk or *gk* *g<Up>*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
315 g<Up> [count] display lines upward. |exclusive| motion.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
316 Differs from 'k' when lines wrap, and when used with
16553
0e473e9e70c2 patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents: 16023
diff changeset
317 an operator, because it's not linewise.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
318
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
319 gj or *gj* *g<Down>*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
320 g<Down> [count] display lines downward. |exclusive| motion.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
321 Differs from 'j' when lines wrap, and when used with
16553
0e473e9e70c2 patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents: 16023
diff changeset
322 an operator, because it's not linewise.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
323
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
324 *-*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
325 - <minus> [count] lines upward, on the first non-blank
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
326 character |linewise|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
327
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
328 + or *+*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
329 CTRL-M or *CTRL-M* *<CR>*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
330 <CR> [count] lines downward, on the first non-blank
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
331 character |linewise|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
332
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
333 *_*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
334 _ <underscore> [count] - 1 lines downward, on the first non-blank
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
335 character |linewise|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
336
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
337 *G*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
338 G Goto line [count], default last line, on the first
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
339 non-blank character |linewise|. If 'startofline' not
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
340 set, keep the same column.
16023
dc766e1b0c95 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 15281
diff changeset
341 G is one of the |jump-motions|.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
342
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
343 *<C-End>*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
344 <C-End> Goto line [count], default last line, on the last
16553
0e473e9e70c2 patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents: 16023
diff changeset
345 character |inclusive|.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
346
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
347 <C-Home> or *gg* *<C-Home>*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
348 gg Goto line [count], default first line, on the first
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
349 non-blank character |linewise|. If 'startofline' not
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
350 set, keep the same column.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
351
3750
536aa8b0c934 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 3713
diff changeset
352 *:[range]*
2033
de5a43c5eedc Update documentation files.
Bram Moolenaar <bram@zimbu.org>
parents: 1702
diff changeset
353 :[range] Set the cursor on the last line number in [range].
de5a43c5eedc Update documentation files.
Bram Moolenaar <bram@zimbu.org>
parents: 1702
diff changeset
354 [range] can also be just one line number, e.g., ":1"
de5a43c5eedc Update documentation files.
Bram Moolenaar <bram@zimbu.org>
parents: 1702
diff changeset
355 or ":'m".
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 2033
diff changeset
356 In contrast with |G| this command does not modify the
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 2033
diff changeset
357 |jumplist|.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
358 *N%*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
359 {count}% Go to {count} percentage in the file, on the first
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
360 non-blank in the line |linewise|. To compute the new
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
361 line number this formula is used:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
362 ({count} * number-of-lines + 99) / 100
16553
0e473e9e70c2 patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents: 16023
diff changeset
363 See also 'startofline' option.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
364
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
365 :[range]go[to] [count] *:go* *:goto* *go*
5663
1dea14d4c738 Update runtime files. Add support for systemverilog.
Bram Moolenaar <bram@vim.org>
parents: 5294
diff changeset
366 [count]go Go to [count] byte in the buffer. Default [count] is
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
367 one, start of the file. When giving [range], the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
368 last number in it used as the byte count. End-of-line
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
369 characters are counted depending on the current
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
370 'fileformat' setting.
2908
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2681
diff changeset
371 Also see the |line2byte()| function, and the 'o'
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2681
diff changeset
372 option in 'statusline'.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
373 {not available when compiled without the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
374 |+byte_offset| feature}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
375
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
376 These commands move to the specified line. They stop when reaching the first
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
377 or the last line. The first two commands put the cursor in the same column
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
378 (if possible) as it was after the last command that changed the column,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
379 except after the "$" command, then the cursor will be put on the last
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
380 character of the line.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
381
161
6df0106fc595 updated for version 7.0049
vimboss
parents: 85
diff changeset
382 If "k", "-" or CTRL-P is used with a [count] and there are less than [count]
6df0106fc595 updated for version 7.0049
vimboss
parents: 85
diff changeset
383 lines above the cursor and the 'cpo' option includes the "-" flag it is an
6df0106fc595 updated for version 7.0049
vimboss
parents: 85
diff changeset
384 error. |cpo--|.
6df0106fc595 updated for version 7.0049
vimboss
parents: 85
diff changeset
385
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
386 ==============================================================================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
387 4. Word motions *word-motions*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
388
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
389 <S-Right> or *<S-Right>* *w*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
390 w [count] words forward. |exclusive| motion.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
391
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
392 <C-Right> or *<C-Right>* *W*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
393 W [count] WORDS forward. |exclusive| motion.
26438
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 25056
diff changeset
394 If <C-Right> does not work, check out
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 25056
diff changeset
395 |arrow_modifiers|.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
396
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
397 *e*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
398 e Forward to the end of word [count] |inclusive|.
1621
82b5078be2dd updated for version 7.2a
vimboss
parents: 1261
diff changeset
399 Does not stop in an empty line.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
400
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
401 *E*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
402 E Forward to the end of WORD [count] |inclusive|.
1621
82b5078be2dd updated for version 7.2a
vimboss
parents: 1261
diff changeset
403 Does not stop in an empty line.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
404
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
405 <S-Left> or *<S-Left>* *b*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
406 b [count] words backward. |exclusive| motion.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
407
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
408 <C-Left> or *<C-Left>* *B*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
409 B [count] WORDS backward. |exclusive| motion.
26438
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 25056
diff changeset
410 If <C-Left> does not work, check out
c725b8e17f1f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 25056
diff changeset
411 |arrow_modifiers|.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
412
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
413 *ge*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
414 ge Backward to the end of word [count] |inclusive|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
415
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
416 *gE*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
417 gE Backward to the end of WORD [count] |inclusive|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
418
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
419 These commands move over words or WORDS.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
420 *word*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
421 A word consists of a sequence of letters, digits and underscores, or a
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
422 sequence of other non-blank characters, separated with white space (spaces,
625
81fe2ccc1207 updated for version 7.0179
vimboss
parents: 593
diff changeset
423 tabs, <EOL>). This can be changed with the 'iskeyword' option. An empty line
81fe2ccc1207 updated for version 7.0179
vimboss
parents: 593
diff changeset
424 is also considered to be a word.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
425 *WORD*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
426 A WORD consists of a sequence of non-blank characters, separated with white
625
81fe2ccc1207 updated for version 7.0179
vimboss
parents: 593
diff changeset
427 space. An empty line is also considered to be a WORD.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
428
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
429 A sequence of folded lines is counted for one word of a single character.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
430 "w" and "W", "e" and "E" move to the start/end of the first word or WORD after
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
431 a range of folded lines. "b" and "B" move to the start of the first word or
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
432 WORD before the fold.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
433
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
434 Special case: "cw" and "cW" are treated like "ce" and "cE" if the cursor is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
435 on a non-blank. This is because "cw" is interpreted as change-word, and a
16610
1eaf34420bb3 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 16553
diff changeset
436 word does not include the following white space.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
437
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
438 Another special case: When using the "w" motion in combination with an
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
439 operator and the last word moved over is at the end of a line, the end of
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
440 that word becomes the end of the operated text, not the first word in the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
441 next line.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
442
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
443 The original Vi implementation of "e" is buggy. For example, the "e" command
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
444 will stop on the first character of a line if the previous line was empty.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
445 But when you use "2e" this does not happen. In Vim "ee" and "2e" are the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
446 same, which is more logical. However, this causes a small incompatibility
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
447 between Vi and Vim.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
448
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
449 ==============================================================================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
450 5. Text object motions *object-motions*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
451
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
452 *(*
28379
6dd88e45d47d Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 27903
diff changeset
453 ( [count] |sentence|s backward. |exclusive| motion.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
454
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
455 *)*
28379
6dd88e45d47d Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 27903
diff changeset
456 ) [count] |sentence|s forward. |exclusive| motion.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
457
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
458 *{*
28379
6dd88e45d47d Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 27903
diff changeset
459 { [count] |paragraph|s backward. |exclusive| motion.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
460
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
461 *}*
28379
6dd88e45d47d Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 27903
diff changeset
462 } [count] |paragraph|s forward. |exclusive| motion.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
463
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
464 *]]*
28379
6dd88e45d47d Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 27903
diff changeset
465 ]] [count] |section|s forward or to the next '{' in the
20
4ac1dce8dd5e updated for version 7.0012
vimboss
parents: 12
diff changeset
466 first column. When used after an operator, then also
4ac1dce8dd5e updated for version 7.0012
vimboss
parents: 12
diff changeset
467 stops below a '}' in the first column. |exclusive|
4ac1dce8dd5e updated for version 7.0012
vimboss
parents: 12
diff changeset
468 Note that |exclusive-linewise| often applies.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
469
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
470 *][*
28379
6dd88e45d47d Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 27903
diff changeset
471 ][ [count] |section|s forward or to the next '}' in the
20
4ac1dce8dd5e updated for version 7.0012
vimboss
parents: 12
diff changeset
472 first column. |exclusive|
4ac1dce8dd5e updated for version 7.0012
vimboss
parents: 12
diff changeset
473 Note that |exclusive-linewise| often applies.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
474
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
475 *[[*
28379
6dd88e45d47d Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 27903
diff changeset
476 [[ [count] |section|s backward or to the previous '{' in
20
4ac1dce8dd5e updated for version 7.0012
vimboss
parents: 12
diff changeset
477 the first column. |exclusive|
4ac1dce8dd5e updated for version 7.0012
vimboss
parents: 12
diff changeset
478 Note that |exclusive-linewise| often applies.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
479
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
480 *[]*
28379
6dd88e45d47d Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 27903
diff changeset
481 [] [count] |section|s backward or to the previous '}' in
20
4ac1dce8dd5e updated for version 7.0012
vimboss
parents: 12
diff changeset
482 the first column. |exclusive|
4ac1dce8dd5e updated for version 7.0012
vimboss
parents: 12
diff changeset
483 Note that |exclusive-linewise| often applies.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
484
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
485 These commands move over three kinds of text objects.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
486
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
487 *sentence*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
488 A sentence is defined as ending at a '.', '!' or '?' followed by either the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
489 end of a line, or by a space or tab. Any number of closing ')', ']', '"'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
490 and ''' characters may appear after the '.', '!' or '?' before the spaces,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
491 tabs or end of line. A paragraph and section boundary is also a sentence
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
492 boundary.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
493 If the 'J' flag is present in 'cpoptions', at least two spaces have to
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
494 follow the punctuation mark; <Tab>s are not recognized as white space.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
495 The definition of a sentence cannot be changed.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
496
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
497 *paragraph*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
498 A paragraph begins after each empty line, and also at each of a set of
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
499 paragraph macros, specified by the pairs of characters in the 'paragraphs'
1621
82b5078be2dd updated for version 7.2a
vimboss
parents: 1261
diff changeset
500 option. The default is "IPLPPPQPP TPHPLIPpLpItpplpipbp", which corresponds to
82b5078be2dd updated for version 7.2a
vimboss
parents: 1261
diff changeset
501 the macros ".IP", ".LP", etc. (These are nroff macros, so the dot must be in
82b5078be2dd updated for version 7.2a
vimboss
parents: 1261
diff changeset
502 the first column). A section boundary is also a paragraph boundary.
164
8b0ee9d57d7f updated for version 7.0050
vimboss
parents: 161
diff changeset
503 Note that a blank line (only containing white space) is NOT a paragraph
8b0ee9d57d7f updated for version 7.0050
vimboss
parents: 161
diff changeset
504 boundary.
8b0ee9d57d7f updated for version 7.0050
vimboss
parents: 161
diff changeset
505 Also note that this does not include a '{' or '}' in the first column. When
8b0ee9d57d7f updated for version 7.0050
vimboss
parents: 161
diff changeset
506 the '{' flag is in 'cpoptions' then '{' in the first column is used as a
8b0ee9d57d7f updated for version 7.0050
vimboss
parents: 161
diff changeset
507 paragraph boundary |posix|.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
508
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
509 *section*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
510 A section begins after a form-feed (<C-L>) in the first column and at each of
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
511 a set of section macros, specified by the pairs of characters in the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
512 'sections' option. The default is "SHNHH HUnhsh", which defines a section to
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
513 start at the nroff macros ".SH", ".NH", ".H", ".HU", ".nh" and ".sh".
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
514
21991
bbca88cd13d5 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 18879
diff changeset
515 The "]]" and "[[" commands stop at the '{' in the first column. This is
bbca88cd13d5 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 18879
diff changeset
516 useful to find the start of a function in a C program. To search for a '}' in
bbca88cd13d5 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 18879
diff changeset
517 the first column, the end of a C function, use "][" (forward) or "[]"
bbca88cd13d5 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 18879
diff changeset
518 (backward). Note that the first character of the command determines the
bbca88cd13d5 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 18879
diff changeset
519 search direction.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
520
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
521 If your '{' or '}' are not in the first column, and you would like to use "[["
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
522 and "]]" anyway, try these mappings: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
523 :map [[ ?{<CR>w99[{
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
524 :map ][ /}<CR>b99]}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
525 :map ]] j0[[%/{<CR>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
526 :map [] k$][%?}<CR>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
527 [type these literally, see |<>|]
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
528
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
529 ==============================================================================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
530 6. Text object selection *object-select* *text-objects*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
531 *v_a* *v_i*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
532
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
533 This is a series of commands that can only be used while in Visual mode or
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
534 after an operator. The commands that start with "a" select "a"n object
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
535 including white space, the commands starting with "i" select an "inner" object
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
536 without white space, or just the white space. Thus the "inner" commands
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
537 always select less text than the "a" commands.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
538
3713
9910cbff5f16 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 3682
diff changeset
539 Also see `gn` and `gN`, operating on the last search pattern.
9910cbff5f16 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 3682
diff changeset
540
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
541 *v_aw* *aw*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
542 aw "a word", select [count] words (see |word|).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
543 Leading or trailing white space is included, but not
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
544 counted.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
545 When used in Visual linewise mode "aw" switches to
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
546 Visual characterwise mode.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
547
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
548 *v_iw* *iw*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
549 iw "inner word", select [count] words (see |word|).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
550 White space between words is counted too.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
551 When used in Visual linewise mode "iw" switches to
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
552 Visual characterwise mode.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
553
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
554 *v_aW* *aW*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
555 aW "a WORD", select [count] WORDs (see |WORD|).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
556 Leading or trailing white space is included, but not
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
557 counted.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
558 When used in Visual linewise mode "aW" switches to
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
559 Visual characterwise mode.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
560
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
561 *v_iW* *iW*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
562 iW "inner WORD", select [count] WORDs (see |WORD|).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
563 White space between words is counted too.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
564 When used in Visual linewise mode "iW" switches to
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
565 Visual characterwise mode.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
566
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
567 *v_as* *as*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
568 as "a sentence", select [count] sentences (see
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
569 |sentence|).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
570 When used in Visual mode it is made characterwise.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
571
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
572 *v_is* *is*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
573 is "inner sentence", select [count] sentences (see
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
574 |sentence|).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
575 When used in Visual mode it is made characterwise.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
576
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
577 *v_ap* *ap*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
578 ap "a paragraph", select [count] paragraphs (see
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
579 |paragraph|).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
580 Exception: a blank line (only containing white space)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
581 is also a paragraph boundary.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
582 When used in Visual mode it is made linewise.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
583
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
584 *v_ip* *ip*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
585 ip "inner paragraph", select [count] paragraphs (see
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
586 |paragraph|).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
587 Exception: a blank line (only containing white space)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
588 is also a paragraph boundary.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
589 When used in Visual mode it is made linewise.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
590
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
591 a] *v_a]* *v_a[* *a]* *a[*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
592 a[ "a [] block", select [count] '[' ']' blocks. This
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
593 goes backwards to the [count] unclosed '[', and finds
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
594 the matching ']'. The enclosed text is selected,
33386
bec417c694fd runtime(doc): text-objects: document how escaped delimiters are handled
Christian Brabandt <cb@256bit.org>
parents: 33315
diff changeset
595 including the '[' and ']'. The |cpo-M| option flag
bec417c694fd runtime(doc): text-objects: document how escaped delimiters are handled
Christian Brabandt <cb@256bit.org>
parents: 33315
diff changeset
596 is used to handle escaped brackets.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
597 When used in Visual mode it is made characterwise.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
598
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
599 i] *v_i]* *v_i[* *i]* *i[*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
600 i[ "inner [] block", select [count] '[' ']' blocks. This
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
601 goes backwards to the [count] unclosed '[', and finds
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
602 the matching ']'. The enclosed text is selected,
34076
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 34057
diff changeset
603 excluding the '[' and ']'. It's an error to select an
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 34057
diff changeset
604 empty inner block like "[]". The |cpo-M| option flag
33386
bec417c694fd runtime(doc): text-objects: document how escaped delimiters are handled
Christian Brabandt <cb@256bit.org>
parents: 33315
diff changeset
605 is used to handle escaped brackets.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
606 When used in Visual mode it is made characterwise.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
607
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
608 a) *v_a)* *a)* *a(*
9533
9f921133ee90 commit https://github.com/vim/vim/commit/269f595f9eef584937e7eae70fde68cdd7da5bcf
Christian Brabandt <cb@256bit.org>
parents: 9286
diff changeset
609 a( *vab* *v_ab* *v_a(* *ab*
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
610 ab "a block", select [count] blocks, from "[count] [(" to
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
611 the matching ')', including the '(' and ')' (see
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
612 |[(|). Does not include white space outside of the
33386
bec417c694fd runtime(doc): text-objects: document how escaped delimiters are handled
Christian Brabandt <cb@256bit.org>
parents: 33315
diff changeset
613 parenthesis. The |cpo-M| option flag is used to
bec417c694fd runtime(doc): text-objects: document how escaped delimiters are handled
Christian Brabandt <cb@256bit.org>
parents: 33315
diff changeset
614 handle escaped parenthesis.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
615 When used in Visual mode it is made characterwise.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
616
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
617 i) *v_i)* *i)* *i(*
9533
9f921133ee90 commit https://github.com/vim/vim/commit/269f595f9eef584937e7eae70fde68cdd7da5bcf
Christian Brabandt <cb@256bit.org>
parents: 9286
diff changeset
618 i( *vib* *v_ib* *v_i(* *ib*
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
619 ib "inner block", select [count] blocks, from "[count] [("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
620 to the matching ')', excluding the '(' and ')' (see
29756
2acb87ee55fc Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 29314
diff changeset
621 |[(|). If the cursor is not inside a () block, then
34076
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 34057
diff changeset
622 find the next "(". It's an error to select an empty
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 34057
diff changeset
623 inner block like "()". The |cpo-M| option flag
33386
bec417c694fd runtime(doc): text-objects: document how escaped delimiters are handled
Christian Brabandt <cb@256bit.org>
parents: 33315
diff changeset
624 is used to handle escaped parenthesis.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
625 When used in Visual mode it is made characterwise.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
626
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
627 a> *v_a>* *v_a<* *a>* *a<*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
628 a< "a <> block", select [count] <> blocks, from the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
629 [count]'th unmatched '<' backwards to the matching
33386
bec417c694fd runtime(doc): text-objects: document how escaped delimiters are handled
Christian Brabandt <cb@256bit.org>
parents: 33315
diff changeset
630 '>', including the '<' and '>'. The |cpo-M| option flag
bec417c694fd runtime(doc): text-objects: document how escaped delimiters are handled
Christian Brabandt <cb@256bit.org>
parents: 33315
diff changeset
631 is used to handle escaped '<' and '>'.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
632 When used in Visual mode it is made characterwise.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
633
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
634 i> *v_i>* *v_i<* *i>* *i<*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
635 i< "inner <> block", select [count] <> blocks, from
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
636 the [count]'th unmatched '<' backwards to the matching
34076
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 34057
diff changeset
637 '>', excluding the '<' and '>'. It's an error to
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 34057
diff changeset
638 select an empty inner block like "<>". The |cpo-M|
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 34057
diff changeset
639 option flag is used to handle escaped '<' and '>'.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
640 When used in Visual mode it is made characterwise.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
641
422
169f2a51b527 updated for version 7.0110
vimboss
parents: 236
diff changeset
642 *v_at* *at*
169f2a51b527 updated for version 7.0110
vimboss
parents: 236
diff changeset
643 at "a tag block", select [count] tag blocks, from the
169f2a51b527 updated for version 7.0110
vimboss
parents: 236
diff changeset
644 [count]'th unmatched "<aaa>" backwards to the matching
169f2a51b527 updated for version 7.0110
vimboss
parents: 236
diff changeset
645 "</aaa>", including the "<aaa>" and "</aaa>".
169f2a51b527 updated for version 7.0110
vimboss
parents: 236
diff changeset
646 See |tag-blocks| about the details.
169f2a51b527 updated for version 7.0110
vimboss
parents: 236
diff changeset
647 When used in Visual mode it is made characterwise.
29765
bc6cf208b1b4 patch 9.0.0222: no good reason why text objects are only in larger builds
Bram Moolenaar <Bram@vim.org>
parents: 29756
diff changeset
648 Only available when compiled with the |+eval| feature.
422
169f2a51b527 updated for version 7.0110
vimboss
parents: 236
diff changeset
649
169f2a51b527 updated for version 7.0110
vimboss
parents: 236
diff changeset
650 *v_it* *it*
169f2a51b527 updated for version 7.0110
vimboss
parents: 236
diff changeset
651 it "inner tag block", select [count] tag blocks, from the
169f2a51b527 updated for version 7.0110
vimboss
parents: 236
diff changeset
652 [count]'th unmatched "<aaa>" backwards to the matching
169f2a51b527 updated for version 7.0110
vimboss
parents: 236
diff changeset
653 "</aaa>", excluding the "<aaa>" and "</aaa>".
169f2a51b527 updated for version 7.0110
vimboss
parents: 236
diff changeset
654 See |tag-blocks| about the details.
169f2a51b527 updated for version 7.0110
vimboss
parents: 236
diff changeset
655 When used in Visual mode it is made characterwise.
169f2a51b527 updated for version 7.0110
vimboss
parents: 236
diff changeset
656
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
657 a} *v_a}* *a}* *a{*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
658 a{ *v_aB* *v_a{* *aB*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
659 aB "a Block", select [count] Blocks, from "[count] [{" to
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
660 the matching '}', including the '{' and '}' (see
33386
bec417c694fd runtime(doc): text-objects: document how escaped delimiters are handled
Christian Brabandt <cb@256bit.org>
parents: 33315
diff changeset
661 |[{|). The |cpo-M| option flag is used to handle
bec417c694fd runtime(doc): text-objects: document how escaped delimiters are handled
Christian Brabandt <cb@256bit.org>
parents: 33315
diff changeset
662 escaped braces.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
663 When used in Visual mode it is made characterwise.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
664
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
665 i} *v_i}* *i}* *i{*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
666 i{ *v_iB* *v_i{* *iB*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
667 iB "inner Block", select [count] Blocks, from "[count] [{"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
668 to the matching '}', excluding the '{' and '}' (see
34076
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 34057
diff changeset
669 |[{|). It's an error to select an empty inner block
21fc3f1676be patch 9.1.0007: can select empty inner text blocks
Christian Brabandt <cb@256bit.org>
parents: 34057
diff changeset
670 like "{}". The |cpo-M| option flag is used to handle
33386
bec417c694fd runtime(doc): text-objects: document how escaped delimiters are handled
Christian Brabandt <cb@256bit.org>
parents: 33315
diff changeset
671 escaped braces.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
672 When used in Visual mode it is made characterwise.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
673
12
bdeee1504ac1 updated for version 7.0004
vimboss
parents: 9
diff changeset
674 a" *v_aquote* *aquote*
bdeee1504ac1 updated for version 7.0004
vimboss
parents: 9
diff changeset
675 a' *v_a'* *a'*
bdeee1504ac1 updated for version 7.0004
vimboss
parents: 9
diff changeset
676 a` *v_a`* *a`*
bdeee1504ac1 updated for version 7.0004
vimboss
parents: 9
diff changeset
677 "a quoted string". Selects the text from the previous
849
eac1cd7f1eff updated for version 7.0f04
vimboss
parents: 843
diff changeset
678 quote until the next quote. The 'quoteescape' option
eac1cd7f1eff updated for version 7.0f04
vimboss
parents: 843
diff changeset
679 is used to skip escaped quotes.
eac1cd7f1eff updated for version 7.0f04
vimboss
parents: 843
diff changeset
680 Only works within one line.
12
bdeee1504ac1 updated for version 7.0004
vimboss
parents: 9
diff changeset
681 When the cursor starts on a quote, Vim will figure out
bdeee1504ac1 updated for version 7.0004
vimboss
parents: 9
diff changeset
682 which quote pairs form a string by searching from the
bdeee1504ac1 updated for version 7.0004
vimboss
parents: 9
diff changeset
683 start of the line.
2033
de5a43c5eedc Update documentation files.
Bram Moolenaar <bram@zimbu.org>
parents: 1702
diff changeset
684 Any trailing white space is included, unless there is
de5a43c5eedc Update documentation files.
Bram Moolenaar <bram@zimbu.org>
parents: 1702
diff changeset
685 none, then leading white space is included.
12
bdeee1504ac1 updated for version 7.0004
vimboss
parents: 9
diff changeset
686 When used in Visual mode it is made characterwise.
bdeee1504ac1 updated for version 7.0004
vimboss
parents: 9
diff changeset
687 Repeating this object in Visual mode another string is
bdeee1504ac1 updated for version 7.0004
vimboss
parents: 9
diff changeset
688 included. A count is currently not used.
bdeee1504ac1 updated for version 7.0004
vimboss
parents: 9
diff changeset
689
bdeee1504ac1 updated for version 7.0004
vimboss
parents: 9
diff changeset
690 i" *v_iquote* *iquote*
bdeee1504ac1 updated for version 7.0004
vimboss
parents: 9
diff changeset
691 i' *v_i'* *i'*
bdeee1504ac1 updated for version 7.0004
vimboss
parents: 9
diff changeset
692 i` *v_i`* *i`*
bdeee1504ac1 updated for version 7.0004
vimboss
parents: 9
diff changeset
693 Like a", a' and a`, but exclude the quotes and
bdeee1504ac1 updated for version 7.0004
vimboss
parents: 9
diff changeset
694 repeating won't extend the Visual selection.
527
93a822c9e3d2 updated for version 7.0147
vimboss
parents: 456
diff changeset
695 Special case: With a count of 2 the quotes are
93a822c9e3d2 updated for version 7.0147
vimboss
parents: 456
diff changeset
696 included, but no extra white space as with a"/a'/a`.
12
bdeee1504ac1 updated for version 7.0004
vimboss
parents: 9
diff changeset
697
33290
9a7b1f8aea55 runtime(doc): add help tag describing object-selection
Christian Brabandt <cb@256bit.org>
parents: 32905
diff changeset
698 *o_object-select*
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
699 When used after an operator:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
700 For non-block objects:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
701 For the "a" commands: The operator applies to the object and the white
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
702 space after the object. If there is no white space after the object
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
703 or when the cursor was in the white space before the object, the white
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
704 space before the object is included.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
705 For the "inner" commands: If the cursor was on the object, the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
706 operator applies to the object. If the cursor was on white space, the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
707 operator applies to the white space.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
708 For a block object:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
709 The operator applies to the block where the cursor is in, or the block
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
710 on which the cursor is on one of the braces. For the "inner" commands
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
711 the surrounding braces are excluded. For the "a" commands, the braces
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
712 are included.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
713
33290
9a7b1f8aea55 runtime(doc): add help tag describing object-selection
Christian Brabandt <cb@256bit.org>
parents: 32905
diff changeset
714 *v_object-select*
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
715 When used in Visual mode:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
716 When start and end of the Visual area are the same (just after typing "v"):
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
717 One object is selected, the same as for using an operator.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
718 When start and end of the Visual area are not the same:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
719 For non-block objects the area is extended by one object or the white
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
720 space up to the next object, or both for the "a" objects. The
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
721 direction in which this happens depends on which side of the Visual
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
722 area the cursor is. For the block objects the block is extended one
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
723 level outwards.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
724
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
725 For illustration, here is a list of delete commands, grouped from small to big
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
726 objects. Note that for a single character and a whole line the existing vi
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
727 movement commands are used.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
728 "dl" delete character (alias: "x") |dl|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
729 "diw" delete inner word *diw*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
730 "daw" delete a word *daw*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
731 "diW" delete inner WORD (see |WORD|) *diW*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
732 "daW" delete a WORD (see |WORD|) *daW*
3713
9910cbff5f16 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 3682
diff changeset
733 "dgn" delete the next search pattern match *dgn*
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
734 "dd" delete one line |dd|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
735 "dis" delete inner sentence *dis*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
736 "das" delete a sentence *das*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
737 "dib" delete inner '(' ')' block *dib*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
738 "dab" delete a '(' ')' block *dab*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
739 "dip" delete inner paragraph *dip*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
740 "dap" delete a paragraph *dap*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
741 "diB" delete inner '{' '}' block *diB*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
742 "daB" delete a '{' '}' block *daB*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
743
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
744 Note the difference between using a movement command and an object. The
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
745 movement command operates from here (cursor position) to where the movement
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
746 takes us. When using an object the whole object is operated upon, no matter
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
747 where on the object the cursor is. For example, compare "dw" and "daw": "dw"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
748 deletes from the cursor position to the start of the next word, "daw" deletes
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
749 the word under the cursor and the space after or before it.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
750
422
169f2a51b527 updated for version 7.0110
vimboss
parents: 236
diff changeset
751
169f2a51b527 updated for version 7.0110
vimboss
parents: 236
diff changeset
752 Tag blocks *tag-blocks*
169f2a51b527 updated for version 7.0110
vimboss
parents: 236
diff changeset
753
169f2a51b527 updated for version 7.0110
vimboss
parents: 236
diff changeset
754 For the "it" and "at" text objects an attempt is done to select blocks between
169f2a51b527 updated for version 7.0110
vimboss
parents: 236
diff changeset
755 matching tags for HTML and XML. But since these are not completely compatible
169f2a51b527 updated for version 7.0110
vimboss
parents: 236
diff changeset
756 there are a few restrictions.
169f2a51b527 updated for version 7.0110
vimboss
parents: 236
diff changeset
757
169f2a51b527 updated for version 7.0110
vimboss
parents: 236
diff changeset
758 The normal method is to select a <tag> until the matching </tag>. For "at"
169f2a51b527 updated for version 7.0110
vimboss
parents: 236
diff changeset
759 the tags are included, for "it" they are excluded. But when "it" is repeated
853
d10fbefd3bc1 updated for version 7.0f05
vimboss
parents: 849
diff changeset
760 the tags will be included (otherwise nothing would change). Also, "it" used
d10fbefd3bc1 updated for version 7.0f05
vimboss
parents: 849
diff changeset
761 on a tag block with no contents will select the leading tag.
422
169f2a51b527 updated for version 7.0110
vimboss
parents: 236
diff changeset
762
169f2a51b527 updated for version 7.0110
vimboss
parents: 236
diff changeset
763 "<aaa/>" items are skipped. Case is ignored, also for XML where case does
169f2a51b527 updated for version 7.0110
vimboss
parents: 236
diff changeset
764 matter.
169f2a51b527 updated for version 7.0110
vimboss
parents: 236
diff changeset
765
169f2a51b527 updated for version 7.0110
vimboss
parents: 236
diff changeset
766 In HTML it is possible to have a tag like <br> or <meta ...> without a
169f2a51b527 updated for version 7.0110
vimboss
parents: 236
diff changeset
767 matching end tag. These are ignored.
169f2a51b527 updated for version 7.0110
vimboss
parents: 236
diff changeset
768
169f2a51b527 updated for version 7.0110
vimboss
parents: 236
diff changeset
769 The text objects are tolerant about mistakes. Stray end tags are ignored.
169f2a51b527 updated for version 7.0110
vimboss
parents: 236
diff changeset
770
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
771 ==============================================================================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
772 7. Marks *mark-motions* *E20* *E78*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
773
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
774 Jumping to a mark can be done in two ways:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
775 1. With ` (backtick): The cursor is positioned at the specified location
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
776 and the motion is |exclusive|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
777 2. With ' (single quote): The cursor is positioned on the first non-blank
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
778 character in the line of the specified location and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
779 the motion is linewise.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
780
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
781 *m* *mark* *Mark*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
782 m{a-zA-Z} Set mark {a-zA-Z} at cursor position (does not move
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
783 the cursor, this is not a motion command).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
784
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
785 *m'* *m`*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
786 m' or m` Set the previous context mark. This can be jumped to
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
787 with the "''" or "``" command (does not move the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
788 cursor, this is not a motion command).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
789
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
790 *m[* *m]*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
791 m[ or m] Set the |'[| or |']| mark. Useful when an operator is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
792 to be simulated by multiple commands. (does not move
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
793 the cursor, this is not a motion command).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
794
3682
11d40fc82f11 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 3082
diff changeset
795 *m<* *m>*
11d40fc82f11 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 3082
diff changeset
796 m< or m> Set the |'<| or |'>| mark. Useful to change what the
11d40fc82f11 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 3082
diff changeset
797 `gv` command selects. (does not move the cursor, this
11d40fc82f11 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 3082
diff changeset
798 is not a motion command).
11d40fc82f11 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 3082
diff changeset
799 Note that the Visual mode cannot be set, only the
11d40fc82f11 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 3082
diff changeset
800 start and end position.
11d40fc82f11 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 3082
diff changeset
801
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
802 *:ma* *:mark* *E191*
9
4102fb4ea781 updated for version 7.0002
vimboss
parents: 7
diff changeset
803 :[range]ma[rk] {a-zA-Z'}
4102fb4ea781 updated for version 7.0002
vimboss
parents: 7
diff changeset
804 Set mark {a-zA-Z'} at last line number in [range],
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
805 column 0. Default is cursor line.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
806
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
807 *:k*
9
4102fb4ea781 updated for version 7.0002
vimboss
parents: 7
diff changeset
808 :[range]k{a-zA-Z'} Same as :mark, but the space before the mark name can
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
809 be omitted.
26779
edb7d53fc7e3 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 26591
diff changeset
810 This command is not supported in |Vim9| script,
edb7d53fc7e3 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 26591
diff changeset
811 because it is too easily confused with a variable
edb7d53fc7e3 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 26591
diff changeset
812 name.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
813
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
814 *'* *'a* *`* *`a*
1121
e63691e7c504 updated for version 7.1a
vimboss
parents: 874
diff changeset
815 '{a-z} `{a-z} Jump to the mark {a-z} in the current buffer.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
816
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
817 *'A* *'0* *`A* *`0*
1121
e63691e7c504 updated for version 7.1a
vimboss
parents: 874
diff changeset
818 '{A-Z0-9} `{A-Z0-9} To the mark {A-Z0-9} in the file where it was set (not
16553
0e473e9e70c2 patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents: 16023
diff changeset
819 a motion command when in another file).
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
820
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
821 *g'* *g'a* *g`* *g`a*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
822 g'{mark} g`{mark}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
823 Jump to the {mark}, but don't change the jumplist when
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
824 jumping within the current buffer. Example: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
825 g`"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
826 < jumps to the last known position in a file. See
9
4102fb4ea781 updated for version 7.0002
vimboss
parents: 7
diff changeset
827 $VIMRUNTIME/vimrc_example.vim.
4102fb4ea781 updated for version 7.0002
vimboss
parents: 7
diff changeset
828 Also see |:keepjumps|.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
829
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
830 *:marks*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
831 :marks List all the current marks (not a motion command).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
832 The |'(|, |')|, |'{| and |'}| marks are not listed.
843
9f279ebda751 updated for version 7.0f01
vimboss
parents: 842
diff changeset
833 The first column has number zero.
16553
0e473e9e70c2 patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents: 16023
diff changeset
834
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
835 *E283*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
836 :marks {arg} List the marks that are mentioned in {arg} (not a
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
837 motion command). For example: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
838 :marks aB
16553
0e473e9e70c2 patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents: 16023
diff changeset
839 < to list marks 'a' and 'B'.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
840
24
8ff7fd162d3c updated for version 7.0016
vimboss
parents: 20
diff changeset
841 *:delm* *:delmarks*
856
8cd729851562 updated for version 7.0g
vimboss
parents: 853
diff changeset
842 :delm[arks] {marks} Delete the specified marks. Marks that can be deleted
24
8ff7fd162d3c updated for version 7.0016
vimboss
parents: 20
diff changeset
843 include A-Z and 0-9. You cannot delete the ' mark.
8ff7fd162d3c updated for version 7.0016
vimboss
parents: 20
diff changeset
844 They can be specified by giving the list of mark
8ff7fd162d3c updated for version 7.0016
vimboss
parents: 20
diff changeset
845 names, or with a range, separated with a dash. Spaces
8ff7fd162d3c updated for version 7.0016
vimboss
parents: 20
diff changeset
846 are ignored. Examples: >
8ff7fd162d3c updated for version 7.0016
vimboss
parents: 20
diff changeset
847 :delmarks a deletes mark a
8ff7fd162d3c updated for version 7.0016
vimboss
parents: 20
diff changeset
848 :delmarks a b 1 deletes marks a, b and 1
8ff7fd162d3c updated for version 7.0016
vimboss
parents: 20
diff changeset
849 :delmarks Aa deletes marks A and a
8ff7fd162d3c updated for version 7.0016
vimboss
parents: 20
diff changeset
850 :delmarks p-z deletes marks in the range p to z
8ff7fd162d3c updated for version 7.0016
vimboss
parents: 20
diff changeset
851 :delmarks ^.[] deletes marks ^ . [ ]
8ff7fd162d3c updated for version 7.0016
vimboss
parents: 20
diff changeset
852 :delmarks \" deletes mark "
8ff7fd162d3c updated for version 7.0016
vimboss
parents: 20
diff changeset
853
8ff7fd162d3c updated for version 7.0016
vimboss
parents: 20
diff changeset
854 :delm[arks]! Delete all marks for the current buffer, but not marks
8ff7fd162d3c updated for version 7.0016
vimboss
parents: 20
diff changeset
855 A-Z or 0-9.
8ff7fd162d3c updated for version 7.0016
vimboss
parents: 20
diff changeset
856
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
857 A mark is not visible in any way. It is just a position in the file that is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
858 remembered. Do not confuse marks with named registers, they are totally
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
859 unrelated.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
860
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
861 'a - 'z lowercase marks, valid within one file
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
862 'A - 'Z uppercase marks, also called file marks, valid between files
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
863 '0 - '9 numbered marks, set from .viminfo file
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
864
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
865 Lowercase marks 'a to 'z are remembered as long as the file remains in the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
866 buffer list. If you remove the file from the buffer list, all its marks are
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
867 lost. If you delete a line that contains a mark, that mark is erased.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
868
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
869 Lowercase marks can be used in combination with operators. For example: "d't"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
870 deletes the lines from the cursor position to mark 't'. Hint: Use mark 't' for
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
871 Top, 'b' for Bottom, etc.. Lowercase marks are restored when using undo and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
872 redo.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
873
16610
1eaf34420bb3 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 16553
diff changeset
874 Uppercase marks 'A to 'Z include the file name. You can use them to jump from
1eaf34420bb3 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 16553
diff changeset
875 file to file. You can only use an uppercase mark with an operator if the mark
1eaf34420bb3 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 16553
diff changeset
876 is in the current file. The line number of the mark remains correct, even if
1eaf34420bb3 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 16553
diff changeset
877 you insert/delete lines or edit another file for a moment. When the 'viminfo'
1eaf34420bb3 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 16553
diff changeset
878 option is not empty, uppercase marks are kept in the .viminfo file. See
1eaf34420bb3 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 16553
diff changeset
879 |viminfo-file-marks|.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
880
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
881 Numbered marks '0 to '9 are quite different. They can not be set directly.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
882 They are only present when using a viminfo file |viminfo-file|. Basically '0
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
883 is the location of the cursor when you last exited Vim, '1 the last but one
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
884 time, etc. Use the "r" flag in 'viminfo' to specify files for which no
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
885 Numbered mark should be stored. See |viminfo-file-marks|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
886
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
887
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
888 *'[* *`[*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
889 '[ `[ To the first character of the previously changed
16553
0e473e9e70c2 patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents: 16023
diff changeset
890 or yanked text.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
891
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
892 *']* *`]*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
893 '] `] To the last character of the previously changed or
16553
0e473e9e70c2 patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents: 16023
diff changeset
894 yanked text.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
895
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
896 After executing an operator the Cursor is put at the beginning of the text
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
897 that was operated upon. After a put command ("p" or "P") the cursor is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
898 sometimes placed at the first inserted line and sometimes on the last inserted
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
899 character. The four commands above put the cursor at either end. Example:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
900 After yanking 10 lines you want to go to the last one of them: "10Y']". After
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
901 inserting several lines with the "p" command you want to jump to the lowest
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
902 inserted line: "p']". This also works for text that has been inserted.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
903
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
904 Note: After deleting text, the start and end positions are the same, except
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
905 when using blockwise Visual mode. These commands do not work when no change
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
906 was made yet in the current file.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
907
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
908 *'<* *`<*
1698
f4f8014d516e updated for version 7.2c-000
vimboss
parents: 1668
diff changeset
909 '< `< To the first line or character of the last selected
f4f8014d516e updated for version 7.2c-000
vimboss
parents: 1668
diff changeset
910 Visual area in the current buffer. For block mode it
f4f8014d516e updated for version 7.2c-000
vimboss
parents: 1668
diff changeset
911 may also be the last character in the first line (to
16553
0e473e9e70c2 patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents: 16023
diff changeset
912 be able to define the block).
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
913
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
914 *'>* *`>*
1698
f4f8014d516e updated for version 7.2c-000
vimboss
parents: 1668
diff changeset
915 '> `> To the last line or character of the last selected
f4f8014d516e updated for version 7.2c-000
vimboss
parents: 1668
diff changeset
916 Visual area in the current buffer. For block mode it
f4f8014d516e updated for version 7.2c-000
vimboss
parents: 1668
diff changeset
917 may also be the first character of the last line (to
f4f8014d516e updated for version 7.2c-000
vimboss
parents: 1668
diff changeset
918 be able to define the block). Note that 'selection'
856
8cd729851562 updated for version 7.0g
vimboss
parents: 853
diff changeset
919 applies, the position may be just after the Visual
16553
0e473e9e70c2 patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents: 16023
diff changeset
920 area.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
921
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
922 *''* *``*
36
125e80798a85 updated for version 7.0021
vimboss
parents: 24
diff changeset
923 '' `` To the position before the latest jump, or where the
125e80798a85 updated for version 7.0021
vimboss
parents: 24
diff changeset
924 last "m'" or "m`" command was given. Not set when the
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
925 |:keepjumps| command modifier was used.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
926 Also see |restore-position|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
927
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
928 *'quote* *`quote*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
929 '" `" To the cursor position when last exiting the current
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
930 buffer. Defaults to the first character of the first
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
931 line. See |last-position-jump| for how to use this
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
932 for each opened file.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
933 Only one position is remembered per buffer, not one
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
934 for each window. As long as the buffer is visible in
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
935 a window the position won't be changed.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
936
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
937 *'^* *`^*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
938 '^ `^ To the position where the cursor was the last time
42
c75153d791d0 updated for version 7.0026
vimboss
parents: 36
diff changeset
939 when Insert mode was stopped. This is used by the
c75153d791d0 updated for version 7.0026
vimboss
parents: 36
diff changeset
940 |gi| command. Not set when the |:keepjumps| command
16553
0e473e9e70c2 patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents: 16023
diff changeset
941 modifier was used.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
942
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
943 *'.* *`.*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
944 '. `. To the position where the last change was made. The
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
945 position is at or near where the change started.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
946 Sometimes a command is executed as several changes,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
947 then the position can be near the end of what the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
948 command changed. For example when inserting a word,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
949 the position will be on the last character.
10449
222b1432814e commit https://github.com/vim/vim/commit/5162822914372fc916a93f85848c0c82209e7cec
Christian Brabandt <cb@256bit.org>
parents: 10198
diff changeset
950 To jump to older changes use |g;|.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
951
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
952 *'(* *`(*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
953 '( `( To the start of the current sentence, like the |(|
16553
0e473e9e70c2 patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents: 16023
diff changeset
954 command.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
955
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
956 *')* *`)*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
957 ') `) To the end of the current sentence, like the |)|
16553
0e473e9e70c2 patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents: 16023
diff changeset
958 command.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
959
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
960 *'{* *`{*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
961 '{ `{ To the start of the current paragraph, like the |{|
16553
0e473e9e70c2 patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents: 16023
diff changeset
962 command.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
963
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
964 *'}* *`}*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
965 '} `} To the end of the current paragraph, like the |}|
16553
0e473e9e70c2 patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents: 16023
diff changeset
966 command.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
967
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
968 These commands are not marks themselves, but jump to a mark:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
969
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
970 *]'*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
971 ]' [count] times to next line with a lowercase mark below
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
972 the cursor, on the first non-blank character in the
16553
0e473e9e70c2 patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents: 16023
diff changeset
973 line.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
974
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
975 *]`*
24278
4ab4ef0c48b1 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 22723
diff changeset
976 ]` [count] times to lowercase mark after the cursor.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
977
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
978 *['*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
979 [' [count] times to previous line with a lowercase mark
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
980 before the cursor, on the first non-blank character in
16553
0e473e9e70c2 patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents: 16023
diff changeset
981 the line.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
982
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
983 *[`*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
984 [` [count] times to lowercase mark before the cursor.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
985
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
986
16944
d23afa4d8b63 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 16808
diff changeset
987 :loc[kmarks] {command} *:loc* *:lock* *:lockmarks*
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
988 Execute {command} without adjusting marks. This is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
989 useful when changing text in a way that the line count
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
990 will be the same when the change has completed.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
991 WARNING: When the line count does change, marks below
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
992 the change will keep their line number, thus move to
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
993 another text line.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
994 These items will not be adjusted for deleted/inserted
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
995 lines:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
996 - lower case letter marks 'a - 'z
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
997 - upper case letter marks 'A - 'Z
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
998 - numbered marks '0 - '9
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
999 - last insert position '^
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1000 - last change position '.
18639
cb3163d590a1 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 18594
diff changeset
1001 - last affected text area '[ and ']
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1002 - the Visual area '< and '>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1003 - line numbers in placed signs
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1004 - line numbers in quickfix positions
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1005 - positions in the |jumplist|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1006 - positions in the |tagstack|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1007 These items will still be adjusted:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1008 - previous context mark ''
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1009 - the cursor position
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1010 - the view of a window on a buffer
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1011 - folds
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1012 - diffs
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1013
16944
d23afa4d8b63 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 16808
diff changeset
1014 :kee[pmarks] {command} *:kee* *:keep* *:keepmarks*
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1015 Currently only has effect for the filter command
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1016 |:range!|:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1017 - When the number of lines after filtering is equal to
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1018 or larger than before, all marks are kept at the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1019 same line number.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1020 - When the number of lines decreases, the marks in the
9
4102fb4ea781 updated for version 7.0002
vimboss
parents: 7
diff changeset
1021 lines that disappeared are deleted.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1022 In any case the marks below the filtered text have
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1023 their line numbers adjusted, thus stick to the text,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1024 as usual.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1025 When the 'R' flag is missing from 'cpoptions' this has
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1026 the same effect as using ":keepmarks".
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1027
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1028 *:keepj* *:keepjumps*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1029 :keepj[umps] {command}
9
4102fb4ea781 updated for version 7.0002
vimboss
parents: 7
diff changeset
1030 Moving around in {command} does not change the |''|,
4102fb4ea781 updated for version 7.0002
vimboss
parents: 7
diff changeset
1031 |'.| and |'^| marks, the |jumplist| or the
4102fb4ea781 updated for version 7.0002
vimboss
parents: 7
diff changeset
1032 |changelist|.
4102fb4ea781 updated for version 7.0002
vimboss
parents: 7
diff changeset
1033 Useful when making a change or inserting text
4102fb4ea781 updated for version 7.0002
vimboss
parents: 7
diff changeset
1034 automatically and the user doesn't want to go to this
4102fb4ea781 updated for version 7.0002
vimboss
parents: 7
diff changeset
1035 position. E.g., when updating a "Last change"
4102fb4ea781 updated for version 7.0002
vimboss
parents: 7
diff changeset
1036 timestamp in the first line: >
4102fb4ea781 updated for version 7.0002
vimboss
parents: 7
diff changeset
1037
586
86379a738de4 updated for version 7.0166
vimboss
parents: 527
diff changeset
1038 :let lnum = line(".")
9
4102fb4ea781 updated for version 7.0002
vimboss
parents: 7
diff changeset
1039 :keepjumps normal gg
4102fb4ea781 updated for version 7.0002
vimboss
parents: 7
diff changeset
1040 :call SetLastChange()
27903
d19b7aee1925 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 26779
diff changeset
1041 :keepjumps exe "normal " .. lnum .. "G"
9
4102fb4ea781 updated for version 7.0002
vimboss
parents: 7
diff changeset
1042 <
4102fb4ea781 updated for version 7.0002
vimboss
parents: 7
diff changeset
1043 Note that ":keepjumps" must be used for every command.
4102fb4ea781 updated for version 7.0002
vimboss
parents: 7
diff changeset
1044 When invoking a function the commands in that function
856
8cd729851562 updated for version 7.0g
vimboss
parents: 853
diff changeset
1045 can still change the jumplist. Also, for
85
fc244e0a6e7e updated for version 7.0034
vimboss
parents: 42
diff changeset
1046 ":keepjumps exe 'command '" the "command" won't keep
fc244e0a6e7e updated for version 7.0034
vimboss
parents: 42
diff changeset
1047 jumps. Instead use: ":exe 'keepjumps command'"
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1048
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1049 ==============================================================================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1050 8. Jumps *jump-motions*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1051
14347
723487cd7876 Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
1052 A "jump" is a command that normally moves the cursor several lines away. If
723487cd7876 Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
1053 you make the cursor "jump" the position of the cursor before the jump is
16023
dc766e1b0c95 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 15281
diff changeset
1054 remembered. You can return to that position with the "''" and "``" commands,
14347
723487cd7876 Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
1055 unless the line containing that position was changed or deleted. The
723487cd7876 Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
1056 following commands are "jump" commands: "'", "`", "G", "/", "?", "n", "N",
723487cd7876 Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
1057 "%", "(", ")", "[[", "]]", "{", "}", ":s", ":tag", "L", "M", "H" and the
15033
f8b0f1e42f2c Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 14421
diff changeset
1058 commands that start editing a new file.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1059
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1060 *CTRL-O*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1061 CTRL-O Go to [count] Older cursor position in jump list
9286
64035abb986b commit https://github.com/vim/vim/commit/c95a302a4c42ec8230473cd4a5e0064d0a143aa8
Christian Brabandt <cb@256bit.org>
parents: 6823
diff changeset
1062 (not a motion command).
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1063
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1064 <Tab> or *CTRL-I* *<Tab>*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1065 CTRL-I Go to [count] newer cursor position in jump list
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1066 (not a motion command).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1067
24278
4ab4ef0c48b1 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 22723
diff changeset
1068 NOTE: In the GUI and in a terminal supporting
4ab4ef0c48b1 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 22723
diff changeset
1069 |modifyOtherKeys|, CTRL-I can be mapped separately
4ab4ef0c48b1 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 22723
diff changeset
1070 from <Tab>, on the condition that CTRL-I is
4ab4ef0c48b1 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 22723
diff changeset
1071 mapped before <Tab>, otherwise the mapping applies to
4ab4ef0c48b1 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 22723
diff changeset
1072 both.
4ab4ef0c48b1 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 22723
diff changeset
1073
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1074 *:ju* *:jumps*
9286
64035abb986b commit https://github.com/vim/vim/commit/c95a302a4c42ec8230473cd4a5e0064d0a143aa8
Christian Brabandt <cb@256bit.org>
parents: 6823
diff changeset
1075 :ju[mps] Print the jump list (not a motion command).
64035abb986b commit https://github.com/vim/vim/commit/c95a302a4c42ec8230473cd4a5e0064d0a143aa8
Christian Brabandt <cb@256bit.org>
parents: 6823
diff changeset
1076
64035abb986b commit https://github.com/vim/vim/commit/c95a302a4c42ec8230473cd4a5e0064d0a143aa8
Christian Brabandt <cb@256bit.org>
parents: 6823
diff changeset
1077 *:cle* *:clearjumps*
64035abb986b commit https://github.com/vim/vim/commit/c95a302a4c42ec8230473cd4a5e0064d0a143aa8
Christian Brabandt <cb@256bit.org>
parents: 6823
diff changeset
1078 :cle[arjumps] Clear the jump list of the current window.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1079
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1080 *jumplist*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1081 Jumps are remembered in a jump list. With the CTRL-O and CTRL-I command you
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1082 can go to cursor positions before older jumps, and back again. Thus you can
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1083 move up and down the list. There is a separate jump list for each window.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1084 The maximum number of entries is fixed at 100.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1085
33315
d198db604bcf runtime(doc): format jumplist examples more consistently (#13137)
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
1086 For example, after three jump commands you have this jump list: >
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1087
33315
d198db604bcf runtime(doc): format jumplist examples more consistently (#13137)
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
1088 jump line col file/text
d198db604bcf runtime(doc): format jumplist examples more consistently (#13137)
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
1089 3 1 0 some text
d198db604bcf runtime(doc): format jumplist examples more consistently (#13137)
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
1090 2 70 0 another line
d198db604bcf runtime(doc): format jumplist examples more consistently (#13137)
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
1091 1 1154 23 end.
d198db604bcf runtime(doc): format jumplist examples more consistently (#13137)
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
1092 >
d198db604bcf runtime(doc): format jumplist examples more consistently (#13137)
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
1093 <
2681
85c5a72551e2 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2577
diff changeset
1094 The "file/text" column shows the file name, or the text at the jump if it is
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1095 in the current file (an indent is removed and a long line is truncated to fit
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1096 in the window).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1097
28388
320991d9812e patch 8.2.4719: ">" marker sometimes not displayed in the jumplist
Bram Moolenaar <Bram@vim.org>
parents: 28379
diff changeset
1098 The marker ">" indicates the current position in the jumplist. It may not be
28517
f73a9bdff3a3 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 28388
diff changeset
1099 shown when filtering the |:jumps| command using |:filter|
28388
320991d9812e patch 8.2.4719: ">" marker sometimes not displayed in the jumplist
Bram Moolenaar <Bram@vim.org>
parents: 28379
diff changeset
1100
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1101 You are currently in line 1167. If you then use the CTRL-O command, the
33315
d198db604bcf runtime(doc): format jumplist examples more consistently (#13137)
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
1102 cursor is put in line 1154. This results in: >
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1103
33315
d198db604bcf runtime(doc): format jumplist examples more consistently (#13137)
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
1104 jump line col file/text
d198db604bcf runtime(doc): format jumplist examples more consistently (#13137)
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
1105 2 1 0 some text
d198db604bcf runtime(doc): format jumplist examples more consistently (#13137)
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
1106 1 70 0 another line
d198db604bcf runtime(doc): format jumplist examples more consistently (#13137)
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
1107 > 0 1154 23 end.
d198db604bcf runtime(doc): format jumplist examples more consistently (#13137)
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
1108 1 1167 0 foo bar
d198db604bcf runtime(doc): format jumplist examples more consistently (#13137)
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
1109 <
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1110 The pointer will be set at the last used jump position. The next CTRL-O
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1111 command will use the entry above it, the next CTRL-I command will use the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1112 entry below it. If the pointer is below the last entry, this indicates that
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1113 you did not use a CTRL-I or CTRL-O before. In this case the CTRL-O command
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1114 will cause the cursor position to be added to the jump list, so you can get
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1115 back to the position before the CTRL-O. In this case this is line 1167.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1116
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1117 With more CTRL-O commands you will go to lines 70 and 1. If you use CTRL-I
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1118 you can go back to 1154 and 1167 again. Note that the number in the "jump"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1119 column indicates the count for the CTRL-O or CTRL-I command that takes you to
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1120 this position.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1121
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1122 If you use a jump command, the current line number is inserted at the end of
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1123 the jump list. If the same line was already in the jump list, it is removed.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1124 The result is that when repeating CTRL-O you will get back to old positions
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1125 only once.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1126
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1127 When the |:keepjumps| command modifier is used, jumps are not stored in the
836
5a7843c57316 updated for version 7.0e02
vimboss
parents: 834
diff changeset
1128 jumplist. Jumps are also not stored in other cases, e.g., in a |:global|
5220
050893d44c33 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5146
diff changeset
1129 command. You can explicitly add a jump by setting the ' mark with "m'". Note
050893d44c33 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5146
diff changeset
1130 that calling setpos() does not do this.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1131
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1132 After the CTRL-O command that got you into line 1154 you could give another
33315
d198db604bcf runtime(doc): format jumplist examples more consistently (#13137)
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
1133 jump command (e.g., "G"). The jump list would then become: >
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1134
33315
d198db604bcf runtime(doc): format jumplist examples more consistently (#13137)
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
1135 jump line col file/text
d198db604bcf runtime(doc): format jumplist examples more consistently (#13137)
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
1136 4 1 0 some text
d198db604bcf runtime(doc): format jumplist examples more consistently (#13137)
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
1137 3 70 0 another line
d198db604bcf runtime(doc): format jumplist examples more consistently (#13137)
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
1138 2 1167 0 foo bar
d198db604bcf runtime(doc): format jumplist examples more consistently (#13137)
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
1139 1 1154 23 end.
d198db604bcf runtime(doc): format jumplist examples more consistently (#13137)
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
1140 >
d198db604bcf runtime(doc): format jumplist examples more consistently (#13137)
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
1141 <
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1142 The line numbers will be adjusted for deleted and inserted lines. This fails
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1143 if you stop editing a file without writing, like with ":n!".
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1144
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1145 When you split a window, the jumplist will be copied to the new window.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1146
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1147 If you have included the ' item in the 'viminfo' option the jumplist will be
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1148 stored in the viminfo file and restored when starting Vim.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1149
33311
1f3bcb7f3bd0 patch 9.0.1921: not possible to use the jumplist like a stack
Christian Brabandt <cb@256bit.org>
parents: 33290
diff changeset
1150 *jumplist-stack*
1f3bcb7f3bd0 patch 9.0.1921: not possible to use the jumplist like a stack
Christian Brabandt <cb@256bit.org>
parents: 33290
diff changeset
1151 When 'jumpoptions' option includes "stack", the jumplist behaves like the tag
1f3bcb7f3bd0 patch 9.0.1921: not possible to use the jumplist like a stack
Christian Brabandt <cb@256bit.org>
parents: 33290
diff changeset
1152 stack. When jumping to a new location from the middle of the jumplist, the
1f3bcb7f3bd0 patch 9.0.1921: not possible to use the jumplist like a stack
Christian Brabandt <cb@256bit.org>
parents: 33290
diff changeset
1153 locations after the current position will be discarded. With this option set
1f3bcb7f3bd0 patch 9.0.1921: not possible to use the jumplist like a stack
Christian Brabandt <cb@256bit.org>
parents: 33290
diff changeset
1154 you can move through a tree of jump locations. When going back up a branch and
1f3bcb7f3bd0 patch 9.0.1921: not possible to use the jumplist like a stack
Christian Brabandt <cb@256bit.org>
parents: 33290
diff changeset
1155 then down another branch, CTRL-O still takes you further up the tree.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1156
33311
1f3bcb7f3bd0 patch 9.0.1921: not possible to use the jumplist like a stack
Christian Brabandt <cb@256bit.org>
parents: 33290
diff changeset
1157 Given a jumplist like the following in which CTRL-O has been used to move back
1f3bcb7f3bd0 patch 9.0.1921: not possible to use the jumplist like a stack
Christian Brabandt <cb@256bit.org>
parents: 33290
diff changeset
1158 three times to location X: >
1f3bcb7f3bd0 patch 9.0.1921: not possible to use the jumplist like a stack
Christian Brabandt <cb@256bit.org>
parents: 33290
diff changeset
1159
1f3bcb7f3bd0 patch 9.0.1921: not possible to use the jumplist like a stack
Christian Brabandt <cb@256bit.org>
parents: 33290
diff changeset
1160 jump line col file/text
1f3bcb7f3bd0 patch 9.0.1921: not possible to use the jumplist like a stack
Christian Brabandt <cb@256bit.org>
parents: 33290
diff changeset
1161 2 1260 8 mark.c <-- location X-2
1f3bcb7f3bd0 patch 9.0.1921: not possible to use the jumplist like a stack
Christian Brabandt <cb@256bit.org>
parents: 33290
diff changeset
1162 1 685 0 eval.c <-- location X-1
1f3bcb7f3bd0 patch 9.0.1921: not possible to use the jumplist like a stack
Christian Brabandt <cb@256bit.org>
parents: 33290
diff changeset
1163 > 0 462 36 eval.c <-- location X
1f3bcb7f3bd0 patch 9.0.1921: not possible to use the jumplist like a stack
Christian Brabandt <cb@256bit.org>
parents: 33290
diff changeset
1164 1 479 39 eval.c
1f3bcb7f3bd0 patch 9.0.1921: not possible to use the jumplist like a stack
Christian Brabandt <cb@256bit.org>
parents: 33290
diff changeset
1165 2 213 2 mark.c
1f3bcb7f3bd0 patch 9.0.1921: not possible to use the jumplist like a stack
Christian Brabandt <cb@256bit.org>
parents: 33290
diff changeset
1166 3 181 0 mark.c
1f3bcb7f3bd0 patch 9.0.1921: not possible to use the jumplist like a stack
Christian Brabandt <cb@256bit.org>
parents: 33290
diff changeset
1167 <
1f3bcb7f3bd0 patch 9.0.1921: not possible to use the jumplist like a stack
Christian Brabandt <cb@256bit.org>
parents: 33290
diff changeset
1168 jumping to (new) location Y results in the locations after the current
1f3bcb7f3bd0 patch 9.0.1921: not possible to use the jumplist like a stack
Christian Brabandt <cb@256bit.org>
parents: 33290
diff changeset
1169 locations being removed: >
1f3bcb7f3bd0 patch 9.0.1921: not possible to use the jumplist like a stack
Christian Brabandt <cb@256bit.org>
parents: 33290
diff changeset
1170
1f3bcb7f3bd0 patch 9.0.1921: not possible to use the jumplist like a stack
Christian Brabandt <cb@256bit.org>
parents: 33290
diff changeset
1171 jump line col file/text
1f3bcb7f3bd0 patch 9.0.1921: not possible to use the jumplist like a stack
Christian Brabandt <cb@256bit.org>
parents: 33290
diff changeset
1172 3 1260 8 mark.c <-- location X-2
1f3bcb7f3bd0 patch 9.0.1921: not possible to use the jumplist like a stack
Christian Brabandt <cb@256bit.org>
parents: 33290
diff changeset
1173 2 685 0 eval.c <-- location X-1
1f3bcb7f3bd0 patch 9.0.1921: not possible to use the jumplist like a stack
Christian Brabandt <cb@256bit.org>
parents: 33290
diff changeset
1174 1 462 36 eval.c <-- location X
1f3bcb7f3bd0 patch 9.0.1921: not possible to use the jumplist like a stack
Christian Brabandt <cb@256bit.org>
parents: 33290
diff changeset
1175 >
1f3bcb7f3bd0 patch 9.0.1921: not possible to use the jumplist like a stack
Christian Brabandt <cb@256bit.org>
parents: 33290
diff changeset
1176 <
1f3bcb7f3bd0 patch 9.0.1921: not possible to use the jumplist like a stack
Christian Brabandt <cb@256bit.org>
parents: 33290
diff changeset
1177 Then, when yet another location Z is jumped to, the new location Y appears
1f3bcb7f3bd0 patch 9.0.1921: not possible to use the jumplist like a stack
Christian Brabandt <cb@256bit.org>
parents: 33290
diff changeset
1178 directly after location X in the jumplist and location X remains in the same
1f3bcb7f3bd0 patch 9.0.1921: not possible to use the jumplist like a stack
Christian Brabandt <cb@256bit.org>
parents: 33290
diff changeset
1179 position relative to the locations (X-1, X-2, etc., ...) that had been before
1f3bcb7f3bd0 patch 9.0.1921: not possible to use the jumplist like a stack
Christian Brabandt <cb@256bit.org>
parents: 33290
diff changeset
1180 it prior to the original jump from X to Y: >
1f3bcb7f3bd0 patch 9.0.1921: not possible to use the jumplist like a stack
Christian Brabandt <cb@256bit.org>
parents: 33290
diff changeset
1181
1f3bcb7f3bd0 patch 9.0.1921: not possible to use the jumplist like a stack
Christian Brabandt <cb@256bit.org>
parents: 33290
diff changeset
1182 jump line col file/text
1f3bcb7f3bd0 patch 9.0.1921: not possible to use the jumplist like a stack
Christian Brabandt <cb@256bit.org>
parents: 33290
diff changeset
1183 4 1260 8 mark.c <-- location X-2
1f3bcb7f3bd0 patch 9.0.1921: not possible to use the jumplist like a stack
Christian Brabandt <cb@256bit.org>
parents: 33290
diff changeset
1184 3 685 0 eval.c <-- location X-1
1f3bcb7f3bd0 patch 9.0.1921: not possible to use the jumplist like a stack
Christian Brabandt <cb@256bit.org>
parents: 33290
diff changeset
1185 2 462 36 eval.c <-- location X
33315
d198db604bcf runtime(doc): format jumplist examples more consistently (#13137)
Christian Brabandt <cb@256bit.org>
parents: 33311
diff changeset
1186 1 100 0 buffer.c <-- location Y
33311
1f3bcb7f3bd0 patch 9.0.1921: not possible to use the jumplist like a stack
Christian Brabandt <cb@256bit.org>
parents: 33290
diff changeset
1187 >
1f3bcb7f3bd0 patch 9.0.1921: not possible to use the jumplist like a stack
Christian Brabandt <cb@256bit.org>
parents: 33290
diff changeset
1188 <
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1189 CHANGE LIST JUMPS *changelist* *change-list-jumps* *E664*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1190
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1191 When making a change the cursor position is remembered. One position is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1192 remembered for every change that can be undone, unless it is close to a
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1193 previous change. Two commands can be used to jump to positions of changes,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1194 also those that have been undone:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1195
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1196 *g;* *E662*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1197 g; Go to [count] older position in change list.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1198 If [count] is larger than the number of older change
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1199 positions go to the oldest change.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1200 If there is no older change an error message is given.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1201 (not a motion command)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1202
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1203 *g,* *E663*
30547
1e91e26ceebf Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 29765
diff changeset
1204 g, Go to [count] newer position in change list.
236
4707450c2b33 updated for version 7.0066
vimboss
parents: 164
diff changeset
1205 Just like |g;| but in the opposite direction.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1206 (not a motion command)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1207
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1208 When using a count you jump as far back or forward as possible. Thus you can
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1209 use "999g;" to go to the first change for which the position is still
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1210 remembered. The number of entries in the change list is fixed and is the same
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1211 as for the |jumplist|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1212
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1213 When two undo-able changes are in the same line and at a column position less
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1214 than 'textwidth' apart only the last one is remembered. This avoids that a
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1215 sequence of small changes in a line, for example "xxxxx", adds many positions
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1216 to the change list. When 'textwidth' is zero 'wrapmargin' is used. When that
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1217 also isn't set a fixed number of 79 is used. Detail: For the computations
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1218 bytes are used, not characters, to avoid a speed penalty (this only matters
21991
bbca88cd13d5 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 18879
diff changeset
1219 for multibyte encodings).
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1220
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1221 Note that when text has been inserted or deleted the cursor position might be
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1222 a bit different from the position of the change. Especially when lines have
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1223 been deleted.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1224
24278
4ab4ef0c48b1 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 22723
diff changeset
1225 When the `:keepjumps` command modifier is used the position of a change is not
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1226 remembered.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1227
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1228 *:changes*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1229 :changes Print the change list. A ">" character indicates the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1230 current position. Just after a change it is below the
14372
2a4a2dc35c55 Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 14347
diff changeset
1231 newest entry, indicating that `g;` takes you to the
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1232 newest entry position. The first column indicates the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1233 count needed to take you to this position. Example:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1234
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1235 change line col text ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1236 3 9 8 bla bla bla
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1237 2 11 57 foo is a bar
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1238 1 14 54 the latest changed line
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1239 >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1240
14372
2a4a2dc35c55 Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 14347
diff changeset
1241 The `3g;` command takes you to line 9. Then the
2a4a2dc35c55 Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 14347
diff changeset
1242 output of `:changes` is:
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1243
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1244 change line col text ~
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1245 > 0 9 8 bla bla bla
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1246 1 11 57 foo is a bar
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1247 2 14 54 the latest changed line
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1248
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1249 Now you can use "g," to go to line 11 and "2g," to go
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1250 to line 14.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1251
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1252 ==============================================================================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1253 9. Various motions *various-motions*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1254
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1255 *%*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1256 % Find the next item in this line after or under the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1257 cursor and jump to its match. |inclusive| motion.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1258 Items can be:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1259 ([{}]) parenthesis or (curly/square) brackets
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1260 (this can be changed with the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1261 'matchpairs' option)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1262 /* */ start or end of C-style comment
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1263 #if, #ifdef, #else, #elif, #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1264 C preprocessor conditionals (when the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1265 cursor is on the # or no ([{
24278
4ab4ef0c48b1 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 22723
diff changeset
1266 is following)
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1267 For other items the matchit plugin can be used, see
1621
82b5078be2dd updated for version 7.2a
vimboss
parents: 1261
diff changeset
1268 |matchit-install|. This plugin also helps to skip
82b5078be2dd updated for version 7.2a
vimboss
parents: 1261
diff changeset
1269 matches in comments.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1270
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1271 When 'cpoptions' contains "M" |cpo-M| backslashes
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1272 before parens and braces are ignored. Without "M" the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1273 number of backslashes matters: an even number doesn't
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1274 match with an odd number. Thus in "( \) )" and "\( (
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1275 \)" the first and last parenthesis match.
1621
82b5078be2dd updated for version 7.2a
vimboss
parents: 1261
diff changeset
1276
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1277 When the '%' character is not present in 'cpoptions'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1278 |cpo-%|, parens and braces inside double quotes are
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1279 ignored, unless the number of parens/braces in a line
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1280 is uneven and this line and the previous one does not
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1281 end in a backslash. '(', '{', '[', ']', '}' and ')'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1282 are also ignored (parens and braces inside single
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1283 quotes). Note that this works fine for C, but not for
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1284 Perl, where single quotes are used for strings.
1621
82b5078be2dd updated for version 7.2a
vimboss
parents: 1261
diff changeset
1285
82b5078be2dd updated for version 7.2a
vimboss
parents: 1261
diff changeset
1286 Nothing special is done for matches in comments. You
82b5078be2dd updated for version 7.2a
vimboss
parents: 1261
diff changeset
1287 can either use the matchit plugin |matchit-install| or
82b5078be2dd updated for version 7.2a
vimboss
parents: 1261
diff changeset
1288 put quotes around matches.
82b5078be2dd updated for version 7.2a
vimboss
parents: 1261
diff changeset
1289
82b5078be2dd updated for version 7.2a
vimboss
parents: 1261
diff changeset
1290 No count is allowed, {count}% jumps to a line {count}
82b5078be2dd updated for version 7.2a
vimboss
parents: 1261
diff changeset
1291 percentage down the file |N%|. Using '%' on
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1292 #if/#else/#endif makes the movement linewise.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1293
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1294 *[(*
24278
4ab4ef0c48b1 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 22723
diff changeset
1295 [( Go to [count] previous unmatched '('.
16553
0e473e9e70c2 patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents: 16023
diff changeset
1296 |exclusive| motion.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1297 *[{*
24278
4ab4ef0c48b1 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 22723
diff changeset
1298 [{ Go to [count] previous unmatched '{'.
16553
0e473e9e70c2 patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents: 16023
diff changeset
1299 |exclusive| motion.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1300 *])*
24278
4ab4ef0c48b1 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 22723
diff changeset
1301 ]) Go to [count] next unmatched ')'.
16553
0e473e9e70c2 patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents: 16023
diff changeset
1302 |exclusive| motion.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1303 *]}*
24278
4ab4ef0c48b1 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 22723
diff changeset
1304 ]} Go to [count] next unmatched '}'.
16553
0e473e9e70c2 patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents: 16023
diff changeset
1305 |exclusive| motion.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1306
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1307 The above four commands can be used to go to the start or end of the current
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1308 code block. It is like doing "%" on the '(', ')', '{' or '}' at the other
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1309 end of the code block, but you can do this from anywhere in the code block.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1310 Very useful for C programs. Example: When standing on "case x:", "[{" will
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1311 bring you back to the switch statement.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1312
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1313 *]m*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1314 ]m Go to [count] next start of a method (for Java or
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1315 similar structured language). When not before the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1316 start of a method, jump to the start or end of the
34020
fb167ca472fe runtime(doc): clarify behaviour of ]m and ]M motions
Christian Brabandt <cb@256bit.org>
parents: 33386
diff changeset
1317 class. |exclusive| motion.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1318 *]M*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1319 ]M Go to [count] next end of a method (for Java or
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1320 similar structured language). When not before the end
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1321 of a method, jump to the start or end of the class.
34020
fb167ca472fe runtime(doc): clarify behaviour of ]m and ]M motions
Christian Brabandt <cb@256bit.org>
parents: 33386
diff changeset
1322 |exclusive| motion.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1323 *[m*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1324 [m Go to [count] previous start of a method (for Java or
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1325 similar structured language). When not after the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1326 start of a method, jump to the start or end of the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1327 class. When no '{' is found before the cursor this is
16553
0e473e9e70c2 patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents: 16023
diff changeset
1328 an error. |exclusive| motion.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1329 *[M*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1330 [M Go to [count] previous end of a method (for Java or
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1331 similar structured language). When not after the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1332 end of a method, jump to the start or end of the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1333 class. When no '}' is found before the cursor this is
16553
0e473e9e70c2 patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents: 16023
diff changeset
1334 an error. |exclusive| motion.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1335
24278
4ab4ef0c48b1 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 22723
diff changeset
1336 The above four commands assume that the file contains a class with methods.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1337 The class definition is surrounded in '{' and '}'. Each method in the class
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1338 is also surrounded with '{' and '}'. This applies to the Java language. The
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1339 file looks like this: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1340
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1341 // comment
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1342 class foo {
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1343 int method_one() {
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1344 body_one();
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1345 }
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1346 int method_two() {
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1347 body_two();
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1348 }
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1349 }
24278
4ab4ef0c48b1 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 22723
diff changeset
1350
4ab4ef0c48b1 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 22723
diff changeset
1351 [To try this out copy the text and put it in a new buffer, the help text above
4ab4ef0c48b1 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 22723
diff changeset
1352 confuses the jump commands]
4ab4ef0c48b1 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 22723
diff changeset
1353
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1354 Starting with the cursor on "body_two()", using "[m" will jump to the '{' at
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1355 the start of "method_two()" (obviously this is much more useful when the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1356 method is long!). Using "2[m" will jump to the start of "method_one()".
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1357 Using "3[m" will jump to the start of the class.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1358
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1359 *[#*
24278
4ab4ef0c48b1 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 22723
diff changeset
1360 [# Go to [count] previous unmatched "#if" or "#else".
16553
0e473e9e70c2 patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents: 16023
diff changeset
1361 |exclusive| motion.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1362
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1363 *]#*
24278
4ab4ef0c48b1 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 22723
diff changeset
1364 ]# Go to [count] next unmatched "#else" or "#endif".
16553
0e473e9e70c2 patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents: 16023
diff changeset
1365 |exclusive| motion.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1366
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1367 These two commands work in C programs that contain #if/#else/#endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1368 constructs. It brings you to the start or end of the #if/#else/#endif where
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1369 the current line is included. You can then use "%" to go to the matching line.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1370
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1371 *[star* *[/*
24278
4ab4ef0c48b1 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 22723
diff changeset
1372 [* or [/ Go to [count] previous start of a C comment "/*".
16553
0e473e9e70c2 patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents: 16023
diff changeset
1373 |exclusive| motion.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1374
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1375 *]star* *]/*
24278
4ab4ef0c48b1 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 22723
diff changeset
1376 ]* or ]/ Go to [count] next end of a C comment "*/".
16553
0e473e9e70c2 patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents: 16023
diff changeset
1377 |exclusive| motion.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1378
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1379
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1380 *H*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1381 H To line [count] from top (Home) of window (default:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1382 first line on the window) on the first non-blank
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1383 character |linewise|. See also 'startofline' option.
12646
b908a3682f6e patch 8.0.1201: "yL" is affected by 'scrolloff'
Christian Brabandt <cb@256bit.org>
parents: 11160
diff changeset
1384 Cursor is adjusted for 'scrolloff' option, unless an
b908a3682f6e patch 8.0.1201: "yL" is affected by 'scrolloff'
Christian Brabandt <cb@256bit.org>
parents: 11160
diff changeset
1385 operator is pending, in which case the text may
b908a3682f6e patch 8.0.1201: "yL" is affected by 'scrolloff'
Christian Brabandt <cb@256bit.org>
parents: 11160
diff changeset
1386 scroll. E.g. "yH" yanks from the first visible line
b908a3682f6e patch 8.0.1201: "yL" is affected by 'scrolloff'
Christian Brabandt <cb@256bit.org>
parents: 11160
diff changeset
1387 until the cursor line (inclusive).
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1388
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1389 *M*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1390 M To Middle line of window, on the first non-blank
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1391 character |linewise|. See also 'startofline' option.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1392
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1393 *L*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1394 L To line [count] from bottom of window (default: Last
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1395 line on the window) on the first non-blank character
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1396 |linewise|. See also 'startofline' option.
12646
b908a3682f6e patch 8.0.1201: "yL" is affected by 'scrolloff'
Christian Brabandt <cb@256bit.org>
parents: 11160
diff changeset
1397 Cursor is adjusted for 'scrolloff' option, unless an
b908a3682f6e patch 8.0.1201: "yL" is affected by 'scrolloff'
Christian Brabandt <cb@256bit.org>
parents: 11160
diff changeset
1398 operator is pending, in which case the text may
b908a3682f6e patch 8.0.1201: "yL" is affected by 'scrolloff'
Christian Brabandt <cb@256bit.org>
parents: 11160
diff changeset
1399 scroll. E.g. "yL" yanks from the cursor to the last
b908a3682f6e patch 8.0.1201: "yL" is affected by 'scrolloff'
Christian Brabandt <cb@256bit.org>
parents: 11160
diff changeset
1400 visible line.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1401
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1402 <LeftMouse> Moves to the position on the screen where the mouse
36
125e80798a85 updated for version 7.0021
vimboss
parents: 24
diff changeset
1403 click is |exclusive|. See also |<LeftMouse>|. If the
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1404 position is in a status line, that window is made the
16553
0e473e9e70c2 patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents: 16023
diff changeset
1405 active window and the cursor is not moved.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1406
14421
2f7e67dd088c Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 14372
diff changeset
1407 vim:tw=78:ts=8:noet:ft=help:norl: