:changes Print the change list. A ">" character indicates the
current position. Just after a change it is below the
newest entry, indicating that `g;` takes you to the
newest entry position. The first column indicates the
count needed to take you to this position. Example:
change line col text ~
3 9 8 bla bla bla
2 11 57 foo is a bar
1 14 54 the latest changed line
>
The `3g;` command takes you to line 9. Then the
output of `:changes` is:
change line col text ~
> 0 9 8 bla bla bla
1 11 57 foo is a bar
2 14 54 the latest changed line
Now you can use "g," to go to line 11 and "2g," to go
to line 14.
==============================================================================
9. Various motions *various-motions*
*%*
% Find the next item in this line after or under the
cursor and jump to its match. |inclusive| motion.
Items can be:
([{}]) parenthesis or (curly/square) brackets
(this can be changed with the
'matchpairs' option)
`/* */` start or end of C-style comment
#if, #ifdef, #else, #elif, #endif
C preprocessor conditionals (when the
cursor is on the # or no ([{
is following)
For other items the matchit plugin can be used, see
|matchit|. This plugin also helps to skip matches in
comments.
When 'cpoptions' contains "M" |cpo-M| backslashes
before parens and braces are ignored. Without "M" the
number of backslashes matters: an even number doesn't
match with an odd number. Thus in "( \) )" and "\( (
\)" the first and last parenthesis match.
When the '%' character is not present in 'cpoptions'
|cpo-%|, parens and braces inside double quotes are
ignored, unless the number of parens/braces in a line
is uneven and this line and the previous one does not
end in a backslash. '(', '{', '[', ']', '}' and ')'
are also ignored (parens and braces inside single
quotes). Note that this works fine for C, but not for
Perl, where single quotes are used for strings.
Nothing special is done for matches in comments. You
can either use the |matchit| plugin or put quotes around
matches.
No count is allowed, {count}% jumps to a line {count}
percentage down the file |N%|. Using '%' on
#if/#else/#endif makes the movement linewise.
*[(*
[( Go to [count] previous unmatched '('.
|exclusive| motion.
*[{*
[{ Go to [count] previous unmatched '{'.
|exclusive| motion.
*])*
]) Go to [count] next unmatched ')'.
|exclusive| motion.
*]}*
]} Go to [count] next unmatched '}'.
|exclusive| motion.
The above four commands can be used to go to the start or end of the current
code block. It is like doing "%" on the "(", ")", "{" or "}" at the other
end of the code block, but you can do this from anywhere in the code block.
Very useful for C programs. Example: When standing on "case x:", `[{` will
bring you back to the switch statement.
*]m*
]m Go to [count] next start of a method (for Java or
similar structured language). When not before the
start of a method, jump to the start or end of the