2.8 KiB
title |
---|
Motions |
Vim Basic Motions
Cursors motions
First in VIM we can use the arrow keys if we like to move around the text file, but it is not the best way to do so, and we lost the advantage of combine commands that VIM provides.
Instead of that the default and best way to move throught the text is using the keys h
(left), j
(down), k
(up) and l
(right).
^
|
k
<- h l ->
j
|
v
The advantage in use this keys instead of the arrow keys, is you can combine motions with other commands, like:
d2j
-> delete 2 lines downy10k
-> copy 10 lines up10l
-> move 10 caracters right2h
-> move 2 characters left
Words Motions
A word consists of a sequence of letters, digits and underscores, or a sequence of other non-blank characters, separated with white space (spaces, tabs, end of line). An empty line is also considered to be a word.
It is possible move throught words with this commnads:
w
-> move to next wordW
-> move to next WORD*e
-> move to the end of the next wordE
-> move to the end of the next WORDb
-> move to previous wordB
-> move to previous WORDge
-> move to the end of previous wordgE
-> move to the end of previous WORD
*A WORD consists of a sequence of non-blank characters, separated with white
space. An empty line is also considered to be a WORD, ie: quux(foo,
bar,
foo);
With this motions combined with other commands you can do things like:
dw
-> delete the word5e
-> move to the end of the 5th word from here
Search motions
Another way to move throught the position you like, is using the search motions, the search motions consists in the motion + a character to search
fx
-> move to the nextx
tx
-> move to first position before the nextx
;
-> next xFx
-> move to the previousx
Tx
-> move to first position after the previousx
,
-> previous x
Begin and End of lines
You can also move to begin or end of line with VIM, with this commands:
0
-> Begin of the line^
-> First non-blank character of the line$
-> End of the line
File motions
In VIM you can move throught the file using this commands:
gg
-> move to the first line of the fileG
-> move to the last line of the file<ctrl> + f
-> move one page down<ctrl> + b
-> move one page up/text
-> findtext
n
-> move to the next occurrence of thetext
(previous command)?text
-> find previoustext
N
-> move to the previous occurrence oftext
{
-> move one paragraph up}
-> move one paragraph down(
-> move one sentence up)
-> move one sentece down#
-> find word under cursor up*
-> find word under cursor down