1、打开文件
[root@qfedu.com ~]
2、工作模式
2.1、VI 与vim的三个模式
2.2、进入编辑模式
i #在光标所在处进入编辑模式
a #在当前光标后面进入编辑模式
A #在行尾进入编辑模式
o #在光标的下一行进入编辑模式
大O #在光标的上一行进入编辑模式
# 从编辑模式进入命令模式:ESC
2.3、命令模式
光标定位键盘:
hjkl#上下左右
0 $ #行首行尾
gg #页首--文本顶端
G(shift+g) #页尾--文本底部
3G #进入第三行
/string #查找字符,n下一个,N上一个 (n N 可以循环的)
/noh #取消高亮
2.4、文本编辑
yy #复制
3yy #从光标开始复制3行。在最后粘贴
ygg #从当前光标复制到页首
yG #从光标开始复制到页尾
dd #删除一行
3dd #从光标开始删除3行
dgg #从光标开始删除到页首
dG #从光标开始删除到页尾
d^ #删除当前光标之前的内容
p #粘贴到本行的下一行
大P #粘贴到本行的上一行
x #删除光标所在的字符
D #从光标处删除到行尾
u #undo撤销
r #可以用来修改一个字符
2.5、扩展命令(尾行)模式:
shift+: #进入尾行模式(扩展命令模式)
:10 #进入第10行
:w #保存
:q #退出
:wq #保存并退出
:q! #不保存并退出
:wq! 强制保存退出
2.6、进入其他模式
ctrl+v #进入可视块模式
shift+v #进入可视行模式
2.7、查找替换
语法----> :范围 s/old/new/选项
:s/world/nice/ #替换当前光标所在行
:3s/sbin/nice/ #替换指定行
:1,5 s/nologin/soso/ #从1-5行的nologin 替换为soso
:%s/bin/soso/ #替换所有行
:%s/sbin/nice/g #替换行内所有关键字
注释:%表示替换所有行 g表示行内所有关键字
将文件另存(另存为)
语法----> :w 存储到当前文件
:w /tmp/aaa.txt #另存为/tmp/aaa.txt
:1,3 w /tmp/2.txt #从1-3行的内容另存为/tmp/2.txt
2.8、设置环境
:set nu #设置行号
:set list #显示控制字符
:set nonu #取消设置行号
2.9 文件基本信息
2.9.1、时间类型
访问时间:atime,查看内容
修改时间:mtime,修改内容
改变时间:ctime,文件属性,比如权限,mv改名
2.9.2、查询示例
[root@linux-server ~]# ls -l passwd
-rw-r--r--. 1 root root 839 Oct 31 21:29 passwd
[root@linux-server ~]# stat passwd
File: ‘passwd’
Size: 839 Blocks: 8 IO Block: 4096 regular file
Device: fd00h/64768dInode: 33583688 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2019-10-31 21:29:40.750993492 +0800
Modify: 2019-10-31 21:29:36.449993550 +0800
Change: 2019-10-31 21:29:36.452993550 +0800
Birth: -
2.9.3、仅看的是文件的修改时间