vi/vim:可以建立一个新文件,也可以打开一个文件。
//非正常关闭的时候,会出来一个交换文件,再次打开的时候会出现一个提示
vi/vim:的三种状态
1、命令行模式:控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入 Insert mode 下,或者到 last line mode。
2、插入模式:只有在Insert mode下,才可以做文字输入,按[ESC]键可回到命令行模式
3、底行模式:将文件保存或退出vi,也可以设置编辑环境。
进入vi的命令
vi filename :打开或新建文件,并将光标置于第一行首
vi +n filename : 打开文件,并将光标至于第n行首
vi + filename :打开或新建文件,并将光标置于最后一行
vi + /pattern filename : 打开文件,并将光标置于第一个与pattern匹配的串处
vi -r filename :在上次正用 vi 编辑时发生系统崩溃,恢复 filename
vi filename....filename :打开多个文件,依次编辑(个人感觉没什么用)
进入插入模式 (从命令到插入模式)
i //插入光标的前一个字符
o //下一行插入
I //行首插入
A //行尾插入
a //插入光标的后一个字符
O //上一行插入
插入模式下的命令
h //左移动
l //右移动
j //下移动
k //上移动
M //当前屏幕的中间
L //当前屏幕最后一行
H //当前屏幕的最上一行
ctrl + f //向下翻一页
ctrl + b //向上翻一页
ctrl + u //向上翻半页
ctrl + d //向下翻半页
nG //快速定位到第n行代码
G //快递定位到最后一行
gg //快速定位到第一行 { //一片一片的跳(以空行为准) }
yy //复制光标所在的这一行
p //粘贴 dd //删除(剪切)光标所在的行
nyy //复制了以光标所在的位置为第一行的n行
ndd //光标所在的这行开始 删除n行
dw //删除这个单词 w //以单词进行划分,到下一个单词
b //以单词进行划分,到上一个单词
D //从光标当前位置剪切一直到行末
d0 //从光标当前位置剪切一直到行首
x //删除当前的光标的后一个,每次删除一个
X //删除当前的光标的前一个,每次删除一个 //选中一片代码
v //用上下键来选中行,>>(有移动) <<(左移动)
V // . //重复执行上一次命令
r //替换字母一个(可以在命令模式下)
R //从当前光标开始往后替换(可以在命令模式下)
u //撤销
ctrl + r //反撤销
底行模式
w:保存
q:退出
wq:保存退出
q!:不保存退出
shift+zz: //相当于wq
:%s/hello/wolrd/g //把所有的hello换成wolrd(在末行模式下 )
:11,16s/hello/wolrd/g //把11-16行的hello换成wolrd(在末行模式下 )
/hello //搜索 n 查找搜索结果下一个 N 查找搜索结果上一个