# 光标移动 一个字符、一个句子、一个段落、一行、一屏、一页。 确定操作单位后,需要确定命令重复执行的次数。Vim光标移动命令的操作对象范围计算公式为: 操作范围 = 操作次数 x 操作单位 例如:5h命令表示左移5个字符,8w命令右移8个单词 #上下左右 上:k ick up 下:j ump down 左:h ang back 右:l eap forward #行级别移动 0 移动到光标所在行行首 $ 移动到光标所在行行尾 ^ 移动到当前行的第一个非空字符 1G=gg 移动到文件第一行 2G=2gg 移动到文件第二行 nG 移动到当前文件的第n行 :n 移动到当前文件的第n行 #文件首尾 gg|:0 移动光标到当前文件的第一行的第一个字符 G|:$ 移动光标到当前文件的第后一行的第一个字符 #以单词为单位移动 w|W 移动到下一个单词的开头 b|B 移动到上一个单词的开头 e|E 移动到下一个单词的末尾
* 移动到和当前光标所在位置的单词相同的下一个单词的开头 '#' 移动到和当前光标所在位置的单词相同的上一个单词的开头 #匹配括号移动 % 在匹配的括号上移动。 #段落级别移动 '}' 移动到当前段落的末尾 '{' 移动到当前段落的开头 #当前屏幕内上中下移动 H 移动到当前屏幕第一行第一个字符 M 移动到当前屏幕中间第一个字符 L 移动到当前屏幕最后第一个字符
# 插入(进入到编辑模式) #行首,行尾插入 I 将光标移动到行首并进入编辑模式 A 将光标移动到行末并插入-在当前行尾追加 #光标左右插入 i 当前光标处插入-左插入 a 当前光标后插入-右插入 #行上行下插入 o 在当前行下面插入新行 O 在当前行上面插入新行-在当前行首插入 #删除插入 s 删除光标所在字符并插入 S 删除整行并插入 C 删除光标所在位置后面的内容并进入编辑模式
# 删除(本质是剪切) dd 删除光标所在行 4dd 从当前行开始向下删除4行
dgg 删除当前行以及当前行前面的所有行 dG 删除当前行以及当前行后面的所有行
d $|D|shift+d 删除光标位置到行尾 d 0 删除光标所在行,光标位置到行首
^d 删除整行
# 删除单个字符:在命令模式下 x 向后删除,从光标位置开始 X 向前删除,从光标前一个位置开始
# 替换字符:在命令模式下 r 按r后输入需要替换的字符,替换当前光标所在位置的字符 R 进入替换模式,替换光标位置的字符
# 撤销 u 撤销最近一次操作,并恢复操作结果,可多次使用来恢复已进行的多步操作 U 撤销对当前行的所有操作 ctrl+r 重做上一个动作
# 复制 yy 复制当前整行 4yy 从当前行向下复制4行 # 黏贴 p 将已复制的数据在光标下一行黏贴 3p 将已复制的数据在光标下一行黏贴出3份 P 将已复制的数据在光标上一行黏贴