Vim Tips 2015-03-17
Table of Contents
This is the start of a series of posts about better Vim usage. It's yet to be determined how often and how frequent this will run, but expect more than just this first post.
Folds
When using manual folding, creating a fold in Vim is as easy as one command:
In normal mode, zf<movement>
.
For example, while in Java code and on a Method opening curly brace, type
zf%
.
And a fold is now created around that method. You can toggle it open and
closed with za
, you can also open it with zo
and you can close it with
zc
.
Similarly, to remove a fold created by zf
, use zd<movement>
to remove
folds.
From the above example, while in normal mode, typing zd%
will remove the fold
for the method's block.
For more information about folding and the other modes, visit the Vim wiki page on folding.
Substitution Range
Here are some more explicit examples of the range options provided when doing substitutions:
To substitute the first occurrence of the pattern in the current line:
:s/foo/bar
All occurrences:
:s/foo/bar/g
Entire file, first occurrence:
:%s/foo/bar/
Entire file, all occurrences:
:%s/foo/bar/g
Now for something completely different, specific ranges:
:<starting line>,<ending line>s/foo/bar[/g]
End today's kicker: changing from a line to the end of the file:
:<start>,$s/foo/bar[/g]
Visit Vim Ranges to view more information about the ranges available in Vim.