本节主要介绍两个部分;
第一部分包含三个内容:命令重复执行,游标跳转和复制剪切与粘贴。
第二个部分包含四个内容:命令的撤销,字符的替换,快速缩进,以及查找。
这些命令均在普通模式下执行。
- 命令重复执行
- 重复执行上次命令
- 普通模式下.(小数点)表示重复上一次的命令操作
- 执行指定次数的命令
- 普通模式输入N ”command”,N表示重复命令command的次数。
例: 3x,3dd, d3w等
- 普通模式输入N ”command”,N表示重复命令command的次数。
- 重复执行上次命令
游标跳转
行间跳转
Command Description nG(n Shift+g) 游标移动到第 n 行(如果默认没有显示行号,请先进入命令模式,输入:set nu以显示行号) gg 游标移动到到第一行 G(Shift+g) 到最后一行 小技巧:当跳转后,想回到光标跳转之前的位置。可以使用Ctrl+o。这是一个很实用的技巧。当你在写代码时,忽然想起有个bug,需要修改,这时候你跳过去改好了,只需要按下Ctrl+o就可以回到你之前的位置。
行内跳转
Command Description w 到下一个单词的开头 e 到下一个单词的结尾 b 到前一个单词的开头 ge 到前一个单词的结尾 0或^ 到行头 $ 到行尾 f<字母> 向后搜索<字母>并跳转到第一个匹配的位置(非常实用) F<字母> 向前搜索<字母>并跳转到第一个匹配的位置 t<字母> 向后搜索<字母>并跳转到第一个匹配位置之前的一个字母(不常用) T<字母> 向前搜索<字母>并跳转到第一个匹配位置之后的一个字母(不常用)
复制剪切与粘贴
复制y
普通模式中,yy复制游标所在的整行(3yy表示复制3行) 普通模式中,y^ 复制至行首,或y0。不含光标所在处字符。 普通模式中,y$ 复制至行尾。含光所在处字符。 普通模式中,yw 复制一个单词。 普通模式中,y2w 复制两个单词。 普通模式中,yG 复制至文本末。 普通模式中,y1G 复制至文本开头。
剪切d
Tables Are dd 剪切整行 dw 剪切一个单词(不适用中文) d$或D 剪切至行尾 d^ 剪切至行首 dG 剪切到文档结尾处 d1G 剪切至文档首部 粘贴p
普通模式中,p(小写)代表粘贴至光标后(下) 普通模式中,P(大写)代表粘贴至光标前(上)
命令的撤销
command description u{n} 撤销一次或n次操作 U(大写) 撤销当前行的所有修改 Ctrl+r redo,即撤销undo的操作 字符的替换
command description r+<待替换字母> 将游标所在字母替换为指定字母 R 连续替换,直到按下Esc cc 替换整行,即删除游标所在行,并进入插入模式 cw 替换一个单词,即删除一个单词,并进入插入模式 C(大写) 替换游标以后至行末 ~ 反转游标所在字母大小写 快速缩进
- 如何缩进?
- 普通模式下输入>> 整行将向右缩进
- 普通模式下输入<< 整行向左回退
- 设置shiftwidth
- 进入命令行模式,输入set shiftwidth?获取当前shiftwidth的值
- 输入set shiftwidth=4 设置当前shiftwidth值
- 调整文本位置
- 居中 :ce
- 左对齐 :le
- 右对齐 :ri
- 如何缩进?
查找
- 基本查找
- 普通模式下使用/实现向下查找
- 普通模式下使用?实现向上查找
- 使用n实现下一步查找,使用N实现上一步查找
- 高级查找
- 普通模式下输入\*寻找游标所在处的单词
- 普通模式下输入\#同上,但 \# 是向前(上)找,\*则是向后(下)找
- 普通模式下输入g\*同\* ,但部分符合该单词即可
- 普通模式下输入g\#同\# ,但部分符合该单词即可
- 基本查找