DEV Community

Jesse Phillips
Jesse Phillips

Posted on

4 1

After Vi Basics

I'm an avid user of vim. I even went as far as to try and bring it to the browser. One of my co-workers noticed I used vim and they had gotten through the basics. There is a lot of good material out there like vimcasts.org. But this was an opportunity to reflect on advice I might give.

The first thing to establish is that vim operates with a grammar, count, verb, motion. I wanted to provide a short list of commands I frequently use, and I want to provide short explanation, let me know if I'm too abbreviated.

Search for word under cursor: *

Jump to matching bracket: %

Change inside quotes: ci"

Copy around quotes: ya"

The first two fall in the category 'motion' and the last two are a composition.

Verbs -> change c, yank y, delete d

Adverb -> inside i, around a

Motion -> inside quotes i", around quotes a"

Here we see that a motion is made up of that adverb and a context. These two motions will exclude or include that context.

"hello" i" => hello
"hello" a" => "hello"
Enter fullscreen mode Exit fullscreen mode

The primary context I use is:

Context: quote ", parens (, word w


Do it again: .

Period is the repeat operation. It take your last edit operation and replays it at the new cursor location. The value here is being able to form edits which can be repeated. But even multiple edits can be repeated by recording a macro.

Macros require being able to navigate text in a generic manner. This would mean no mouse. Macros are temporary, good for targeting the task at hand. I'm not covering enough to make these useful, but here is how to create and use.

Record macro to letter 'q': qq

Replay macro for letter 'q': @q


Undo tree. This is not something I use often and it can be a pain to navigate. The undo trees keeps edit history across new edits, this happens when you undo and make edits to the file. In most editors the history before the undo is lost and you can only navigate with the new edits, vim let's you switch the undo branch being navigated.

Go to older branch: g-

Go to newer branch: g+

Sentry image

Hands-on debugging session: instrument, monitor, and fix

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

RSVP here →

Top comments (0)

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up