UP | HOME

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.

References