vi编辑器的操作指令
(ps:以下所有操作指令都用d.txt为例子,其里面的内容是2020的日历)
1. vi 中三种模式
屏幕左下角
1,命令模式 没有插入 没有:
2,编辑模式 -- 插入 --
3,底行模式 : 有光标在闪
命令模式--->编辑模式 i
编辑模式--->命令模式 esc
命令模式--->底行模式 shift+:
在底行模式下使用
保存 w
退出 q
强制退出 !
2.、调用vi
vi filename 打开或创建一个文件
vi 打开一个新文件, 最后才取名
这是我Linux虚拟机中的d.txt的内容
2.vi
1,命令模式下–>切换到编辑模式(ps:直接输指令,会自动跳到编辑模式)
i 在光标当前位置插入
I 行首
a 在光标所在位置后插入
A 行尾
o 在光标所在行下插入一空行
O 上一行
<Esc> 退出命令状态
0 光标回到这一行的开始
$ 光标移动到这一行的结束
2.直接命令 (命令模式)
:命令 (底行模式)
1. 删除
x 删除一个字符
dw 删除当前词(没办法识别所有的英文单词,是连续多个字母,当碰到标点符号时,为一个词)
3dw 删除三个词
dd 删除当前行(从光标所在行开始)
5dd 删除五行(从光标所在行开始)
:5,10d (底行模式:5到10行删除)
2.修改文本
change text:(ps:这里的替换跟删除差不多)
r 替换一个字符
cw 替换一个单词
cc 替换一行
C 替换从光标至行尾
3.复制文本
copy text :
yw 拷贝词(光标放在一个单词的开始位置)(ps:在光标的下个位置黏贴;P:在光标的上个位置)
yy 拷贝行(或Y)
p 当前位置下粘贴
:1,2 co 3 拷贝行1,行2在行3之后
:4,5 m 6 移动行4,行5在行6之后
4.保存结束退出
save quit text:
:w 存盘
:w newfile 存成新文件
:wq 存盘退出Vi(或ZZ,或:x先检测有没有改变,如果没有改变,不存盘)
:q! 强行退出不存盘
~ 改变大小写
J 把当前行和下一行连起来
u 废除刚才的编辑操作(undo)(存盘退出,不能废除)
:set nu 显示行代码 (:set nonu)
:21 光标停在指定行
21G 光标停在指定行 (G 到文件尾,1G 到文件头)
GG 光标停留在末尾行
:/串 从当前行往下查找
:?串 从当前行往上查找
n 查找继续
:r file2 在光标所在位置插入另一个文件
:1,$s/旧串/新串/g 替换全文(或 :$s/旧串/新串/g)
$:表示最后一行