原文地址:Vim教程网——Vim光标移动命令汇总。html
介绍Vim光标移动命令,移动vim光标到行首、行跳转、vim匹配单词和匹配括号跳转,Vim翻页命令。vim
Vi/Vim中进行光标移动的命令是针对不一样的操做单位而设计,不一样的命令对应不一样的操做单位。编辑器
在执行Vim光标移动命令时,首先要分清楚是采用哪一种操做单位:一个字符、一个句子、一个段落、一行、一屏、一页。spa
肯定操做单位后,须要肯定命令重复执行的次数。Vim光标移动命令的操做对象范围计算公式为:
操做范围 = 操做次数 x 操做单位设计
例如:5h
命令表示左移5个字符,8w
命令右移8个单词code
←h j↓ k↑ l→htm
Vim的上下左右移动光标命令是通过精心设计的,咱们在使用编辑器时最经常使用的操做是下移光标。
而键盘上的j、k按键使用最方便,因此分别用来做为下移、上移光标。
h、l分别位于j、k的两侧,根据其所在方位用来实现光标的左移和右移。对象
0
移动光标到当前行行首$
移动光标到当前行行尾^
移动光标到当前行的第一个非空字符nG
移动光标到当前文件的第n行:n
移动光标到当前文件的第n行 (同上)blog
tips:教程
(1) Vim的命令中,0 表示行首,$* 表示行尾。能够回顾下[Vim文本编辑命令汇总](https://vimjc.com/vim-edit-command.html)中提到的删除命令,里面就提到了*0*和*$
(2) 移动光标到当前文件的第n行使用的命令:n
是在vim尾行模式下执行的,因此输入完:n
后须要按回车键执行命令
gg
或 :0
移动光标到当前文件的第一行GG
或 :$
移动光标到当前未经的最后一行
w
或 W
移动到下一单词的开头 b
或 B
移动到上一单词的开头 e
或 E
移动到光标所在单词的末尾
W、B、E命令操做的单词是以空白字符(空格、Tab)分隔的字串
好比字符串“str1-str2 str3-str4”,对W、B、E命令来讲是两个单词,而对w、b、e命令来讲则是四个单词
关于Vim单词和字串,能够参考Vim教程网文章Vim基于单词移动及其Vim单词、字串概念
*
移动光标到 [匹配] 光标当前所在单词的下一个单词#
移动光标到 [匹配] 光标当前所在单词的上一个单词
%
移动光标到括号左半部分( 包括(、{、[ )对应右半匹配部分( )、}、] )
}
移动光标到当前段落的末尾{
移到光标到当前段落的开头
H
移动光标到屏幕的第一行M
移动光标到屏幕的中间一行L
移动光标到屏幕的最后一行
Ctrl + f
向前滚动一页Ctrl + b
向后滚动一页
Ctrl + u
向前滚动半页Ctrl + d
向后滚动半页
不少命令均可以和Vim教程网总结的vim光标移动命令连动
基本命令模式为:<start_position><command><end_position>
例如,Vim命令0y$
拆开分别表示:0
移动光标到当前行首;y
复制;$
当前行尾。因此,命令0y$
意味着复制光标当前所在行全部内容
例如,Vim命令ye
,表示从当前位置拷贝到当前所在单词的最后一个字符