Cursor movement in most editors (ed users can stop now) is
a fundamental operation. In Vim (and old vi) cursor movement commands can be
used in combination with other commands.
Most users know that dd deletes a line, but many do not know that it
is actually a simplified form of the d command that deletes whatever
you define with a cursor movement operation. I’ll explain with examples:
- l (and the right-arrow key) moves one character right, so
dl deletes the character under the cursor (since the cursor
position is actually the left hand edge of the visible cursor), but
x also deletes to same character, so use that instead; - w moves to the start of the next word, so dw
deletes to the start of the next word; - ^ moves to the start of the line, so d^
deletes to the start of the line; - $ moves to the end of the line, so d$
deletes to the end of the line, but D also deletes to the end
of the line, so use that instead; - G moves to the end of the file, so dG
deletes to the end of the file; - { and } move back and forward paragraphs, so d{
deletes a paragraph backwards and d} deletes a paragraph
forwards; - t moves forward (within a line) until it finds a character
you specify, so tp will move forward until it finds
a p (it won’t move if there is no p), so dtp
will delete up to the p; - ‘ moves to the start of the line containing the mark you
specify (you do know how to make marks, don’t
you?) and ` moves to the actual mark position, so d’a
will delete to the start of the line you marked with a and
d`o will delete to the o mark;
There are too many other cursor movement commands for me to show, and there
are many other commands that can use them. Of these, my next 2 favourites are
y and =. y is the copy equivalent to the
cut of d, and I’m assuming you know that p is
paste. = is the smart indent command.

0 comments ↓
There are no comments yet...Kick things off by filling out the form below.
Leave a Comment