原文:https://www.cnblogs.com/mondol/p/vi-examples.html
保存与退出
w # 保存当前文件w /tmp1 # 另存为/tmp1x 或 wq # 保存退出q # 没有修改的情况下退出viq! # 退出不保存
插入
i # 在光标前I # 在当前行首a # 光标后A # 在当前行尾o # 在当前行之下新开一行O # 在当前行之上新开一行
删除
d0 # 删至行首 (d零)dw # 删至行尾ndd # 删除当前行及其后n-1行x 或 X # 删除一个字符,x删除光标后的,而X删除光标前的Ctrl+u # 删除输入方式下所输入的文本n1,n2 d # 将n1行到n2行之间的内容删除
导航
h # 光标左移一个字符l # 光标右移一个字符space # 光标右移一个字符Backspace # 光标左移一个字符k # 光标上移一行j # 光标下移一行Enter # 光标下移一行
屏幕滚动
Ctrl+u # 向文件首翻半屏 upCtrl+d # 向文件尾翻半屏 downCtrl+f # 向文件尾翻一屏 forwardCtrl+b # 向文件首翻一屏 backnz # 将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部
复制粘贴
yy # 复制当前行nyy # 复制当前行开始的n行
先按 v 然后方向键选择区域,按 y 复制选中行dd # 剪切当前行p(小) # 在当前光标处下面粘贴内容。P(大) # 在当前光标处上面粘贴内容
搜索
/abc # 从光标开始处向文件尾搜索abc?abc # 从光标开始处向文件首搜索abc//abc # 从光标开始处向文件尾搜索/abc,其中/是转义n # 在同一方向重复上一次搜索命令N # 在反方向上重复上一次搜索命令
替换
s/vivian/sky/ # 替换当前行第一个 vivian 为 skys/vivian/sky/g # 替换当前行所有 vivian 为 sky%s/vivian/sky/g # (等同于 g/vivian/s//sky/) 替换每一行的每一个 vivian 为 sky