使用w
命令可以向前移动一个单词,使用b
命令可以向后移动一个单词。通过在命令中增加数字前缀,可以快速移动指定个数的单词。例如4w
可以向前移动4个单词,而5b
则是向后移动5个单词。命令e
也是向前移到一个单词,并将光标定位到单词的结尾处;命令ge
则是向后移到一个单词并定位到前一个单词的结尾处。
利用$
命令可以使光标移到一行的结尾处;而g_
命令则会而将光标移到一行的最后一个非空字符处。
利用0
命令可以使光标移到一行的开始处。而^
命令则会忽略开头的空格,而将光标移到一行的第一个非空字符处。
进入命令行模式,直接输入行号,按下回车键即可移动到指定的行。
在常规模式下使用G
命令,可以移动到指定的行。例如3G
可以移动到第3行。而1G
则可以移到文件的开头,而G
则是移动到文件末尾。
使用-
命令,可以移动到上一行的第一个非空字符处;而+
命令,则可以移动到下一行的第一个非空字符处。
使用)
命令,可以向前移动一个句子;而(
命令,则向后移动一个句子。
使用}
命令,可以向前移动一个段落;而{
命令,则向后移动一个段落。
将以上移动命令与数字相结合,可以进一步加快移动的速度。
使用ctrl+U和ctrl+D命令可以向上和向下翻页,以快速移动到文章的不同部分。请参考滚动屏幕章节中的详细介绍。
使用:set number
命令可以显示行号;而:set nonumber
命令则取消行号显示。
使用CTRL-G
命令,将在屏幕底部显示当前所在位置的信息。我们还可以在CTRL-G命令之前增加数字参数,数字越大得到的信息就越详细。命令1CTRL-G
会显示文件的全路径。命令2CTRL-G
会同时显示缓冲区的数字标号。
使用gCTRL-G
命令,可以显示当前文件中的字符统计信息。包括当前行数(Line)、列数(Col)、字数(Word)、字符数(Char)和字节数(Byte)等信息。
使用:set ruler
命令,将在屏幕右下角显示当前所在的行和列,以及相对于整个文件的位置。
Vim可以记录在文件中的移动轨迹,并可以回溯到之前到过的位置。例如执行以下命令,移动到不同的行:1G
到第一行;10G
到第十行;20G
到第二十行。然后执行:jumps
命令,将会显示移动记录的列表。使用CTRL-O
命令,可以跳转到上一个(较旧的)位置。而CTRL-I
命令,则可以跳转到下一个(较新的)位置。跳转不仅仅涉及当前文件,也会跳转到曾经涉足的其它文件。
使用:clearjumps
命令,可以清除所有移动历史记录。
?使用以下命令,可以查看相关帮助信息:
:help motion.txt
^ | 移动到当前行的第一个非空字符处 |
g^ | |
_ | |
<Home> | 移动到当前行的第一个字符处 |
g<Home> | |
0 | |
g0 | |
g_ | 移动到当前行的最后一个非空字符处 |
<End> | 移动到当前行的最后一个字符处 |
g<End> | |
$ | |
g$ | |
gm | 移动到当前行的中间处 |
w | 向前移动一个单词 |
b | 向后移动一个单词 |
G | 移动到指定行 |
:set number | 显示行号 |
:set nonumber | 不显示行号 |
count| | 移动到count列 |
counth | 向左移动count个字符 |
countl | 向右移动count个字符 |
countgo | 移动到第count个字符处 |
- | 移动到上一行的第一个非空字符处 |
+ | 移动到下一行的第一个非空字符处 |
) | 向前移动一个句子 |
( | 向后移动一个句子 |
} | 向前移动一个段落 |
{ | 向后移动一个段落 |
G | 移动到文件末尾 |
gg | 移动到文件开头 |
`. | 移动到上次编辑处 |