工作模式
命令模式
打开文件之后,默认进入命令模式
光标的移动
H:前
J:下
K:上
L:右
行首:0
行尾:$
文件开始位置:gg
文件末尾:G
行跳转:行号G
删除操作
删除光标后边的字符:x
------------前面--------:X
删除单词:dw(光标移动到单词的开始位置,否则只能删除一部分)
删除光标到行首的字符:d0
删除光标到行尾的字符:D(d$)
删除当前行:dd
删除多行:ndd(n:要删除的行数)
撤销操作
撤销:u
反撤销:ctrl+r
复制粘贴
复制:yy
复制多行:nyy(n:行数)
粘贴:p(光标所在行的下一行)P(光标所在行)
剪切==删除,删除的本质就是剪切
可视模式
切换到可视模式:v
选择内容:hjkl(方向键)
复制:y
删除:d
查找
/xx:从光标向下开始查找
?xx:从光标向上开始查找
把光标移动到单词身上,按#
查找完成后N/n向上向下遍历
缩进
向右:>>
向左:<<
查看man文档
将光标移动到想查看的函数上面,然后Shift+K
如果想指定跳到的章节,先按章节编号,然后Shift+K:3 Shift+K
编辑模式
a、i、o、s从命令模式进入编辑模式
Esc返回命令模式
a:在光标所在位置的后面插入
A:在当前行的尾部插入
i:在光标的前面插入
I:在光标所在行的前面插入
o:在光标的下一行开辟一个新行
O:在光标的上面开辟一个新行
s:删除光标后面的字符
S:删除光标所在行
末行模式
:从命令模式进入末行模式
Esc*2或者执行一个末行模式命令返回命令模式
输入行号直接跳转到相应行
:wq保存退出
:q!退出不保存
x==wq
命令模式下保存退出:ZZ
替换一行:s/旧字符串/新字符串/g,不加g只替换第一个字符串
替换所有:%s/旧字符串/新字符串/g,不加g只替换第一个字符串
替换n-m行:n,ms/旧字符串/新字符串/g,不加g只替换第一个字符串
vi分屏
:sp 文件名:水平分屏
:vsp 文件名:垂直分屏
文件名省略将当前打开的文件分屏
:wq退出当前分屏
:wqall退出所有分屏