##### Edit text like a pro with Vi.

This is my second post about Vi / Vim tricks. Check out my first post for even more tips.

Please note that this list is unsorted, and there are many other tricks to be learned. If there's a specific topic or question you'd like us to cover, please leave us a comment.

### Tip 1) Open the file under the cursor

Believe me, this trick is great. You can open a file in Vim just by pressing g f, with the cursor over the file name.

### Tip 2) Show, set, and reset Vim's variables

More than a trick, this is part of the standard Vim usage and configuration. Many people don't use the Vim configuration variables, so we're including these in our list as well.

• :set will show the config variables that are currently different from the default value
• :set all will show all config variables
• :set <var>? will retrieve the value of just one variable (<var>)
• :set <var>& will set the variable (<var>) to its default value
• :set <var>=<value> will assign a value to a variable

### Tip 3) Insert the output of an external command

You can use the :r <command> Vim command to insert the output of an external console command in the file that you're currently editing.

### Tip 4) Enable syntax highlighting

In some cases the syntax highlighting feature is disabled by default. In order to enable it, you can use the :syntax on command. You can disable it again by executing :syntax off.

You can use the % key to jump to a matching opening or closing parenthesis ( ), curly brace { }, or square bracket [ ]. This is especially useful when using Vim to write code.

Additionally, you can remap the % key (change the default action) to visually select the code in between. You can do that by executing :noremap % v%.

### Tip 6) Highlight search matches

By executing :set hlsearch, you can highlight all search matches at the same time. This function can be temporarily disabled by using the :nohlsearch option or its abbreviated version, :nohl.

### Tip 7) Record commands

With Vim, you can record several actions and then execute these actions again.

• qa starts recording
• q stops recording
• @a plays & applies the recorded command
• @@ repeats the process

In this example, first I start recording by pressing q a, then I convert the first line to uppercase (with gUU) appending the word 'YEAH!!' to the end of line. After that, I write the second line and stop recording by pressing q. After that, I apply the recorded macro to the second line by pressing @ a and repeat it by pressing @ @ a couple times.

### Tip 8) Find word under the cursor

This easy but powerful trick will let you find the next or previous occurrence of the word that's currently under the cursor.

• Use * to search for the next occurrence
• Use # to search for the prior occurrence

### Tip 9) Command history

To get a list of all of the commands executed in Vim, use the :history command.

### Tip 10) Easter eggs!

Try by yourself...

• :help 42
• :help holy-grail
• :help!
• :help UserGettingBored
• help bar
• :Ni!

That's it! I hope you've enjoyed my post. As always, please leave any questions or followup requests in the comments section.

Now go out there and write something amazing!