vi 学习记录

i 光标所在前插入
I 光标所在行的第一个非空字符前进入输入模式
a 光标所在后插入
A 光标所在最后插入
o 光标所在列下新增一列并进入输入模式
O 光标所在列上新增一列并进入输入模式

退出 :q,:q!,:wq或:x

x 删除光标所在的字符
dd 删除一行
dw 删除单词,需光标在首字母
r 修改光标所在的字符,只接受1个输入
R 进出替换状态,直至按下esc才终止替换(后面的字符直接被替换)
s 删除光标所在的字符,并进入替换状态
S 删除光标所在的行,并进入替换状态
h j k l 左下上右
u 是撤销

光标移动操作
$移动到行末
ctrl d向下半页
ctrl f向下一页
ctrl u向上半页
ctrl b向上一页

H 移动到视角的第一行
M 移动到视角的中间行
L 移动到视角的最后行

:数字 移动到多少行
:t0把光标所在的行复制到第0行上
/string 查找string所在的位置 n是下一个位置

编辑指令
d 删除
c 修改
p 放置
y 复制 yank
编辑指令跟的参数
e 光标位置到该字的最后一个字符
w 光标位置到另一个字的首字符 //同e相比较 this is :a,光标在t 执行de 则 is :a执行dw则is :adw比de多删了一个空格
b 光标所在位置的前一个字符 与dw de 相比,db是向前删除 ,而de dw是向后
$ 光标位置到行末,距离d$则删除光标位置到行末
ALT ~ 大小写的转换

原文地址:https://www.cnblogs.com/ashen/p/4464431.html