vi/vim
1.使用vim创建/修改文件
vim文本编辑器
vim工作的模式: 命令模式 输入模式 末行模式
[root@server0 ~]# vim lijun.txt
——— 按键盘i键——–>输入模式
| <---- (按Esc键回到命令模式)
命令模式
| <---- (按Esc键回到命令模式)
-----------输入 ":" ------> 末行模式
在末行模式中 wq 代表保存并退出
q! 代表强制不保存退出
1.命令模式
[root@room9pc16 ~]# cp /ect/passwd /tmp
[root@room9pc16 ~]# vim /tmp/passwd
(1)向右移动一个单词:w
(2)向左移动一个单词:b
(3)向右移动80个字符:80右箭头
(4)向左移动30个字符:30左箭头
(5)快速向左向右移动光标:ctrl + 左右箭头
(6)移动光标到行首:0
(7)移动光标到行尾:(9)移动光标到文件最后一行:G(10)移动光标到文件第一行:gg或1G(11)移动光标第文件第12行:12G(12)复制光标所在行:yy(13)将复制的行粘贴到光标所在行的下面:小写p(14)复制光标所在行开始的5行:5yy(15)将复制的行粘贴到光标所在行的上面:大写P(16)删除光标所在行:dd(17)删除光标所在行开始的3行:3dd(18)删除光标开始到单词结尾:dw(19)删除光标开始到行首部分:d0(20)删除光标开始到行尾部分:d(9)移动光标到文件最后一行:G(10)移动光标到文件第一行:gg或1G(11)移动光标第文件第12行:12G(12)复制光标所在行:yy(13)将复制的行粘贴到光标所在行的下面:小写p(14)复制光标所在行开始的5行:5yy(15)将复制的行粘贴到光标所在行的上面:大写P(16)删除光标所在行:dd(17)删除光标所在行开始的3行:3dd(18)删除光标开始到单词结尾:dw(19)删除光标开始到行首部分:d0(20)删除光标开始到行尾部分:d
(21)撤销上一步的操作:u
(22)重复前一步的操作:ctrl+r
(23)查找root: /root 按n或N向下、向上继续查找
2、编辑模式(插入模式)
(1)如果使用鼠标的话,复制粘贴,只需要划中就是复制,按下滚轮即粘贴
(2)按ctrl + n可以实现单词补全
3、末行模式
(1)存盘 -> :w
(2)另存 -> :w 文件名
(3)存盘并退出 -> :wq
(4)退出 -> :q
(5)强制退出不存盘 -> :q!
(6)将光标定位到第n行 -> :n
(7)将光标所在行的第一个root替换为admin -> :s/root/admin
(8)将光标所在行的所有的root替换为admin ->:s/root/admin/g
(9)将文档中所有的root替换为admin -> :%s/root/admin/g
(10)将第4行到第10行的所有root替换为admin->:4,10s/root/admin/g
(11)将第12行到最后一行的所有root替换为admin -> :12,s/root/admin/g
(12)显示行号 -> :set nu
vim编辑技巧
命令模式操作
[root@svr7 ~]# head -6 /etc/passwd > /opt/abc.txt
[root@svr7 ~]# vim /opt/abc.txt
光标跳转
Home键 或 ^ 跳转到行首
End键 或“s/root/admin/g (12)显示行号 -> :set nu vim编辑技巧 命令模式操作 [root@svr7 ~]# head -6 /etc/passwd > /opt/abc.txt [root@svr7 ~]# vim /opt/abc.txt 光标跳转 Home键 或 ^ 跳转到行首 End键 或“”键 跳转到行尾
1G 或 gg 跳转到文件的首行
G 跳转到文件的末尾行
复制/粘贴/删除
yy、#yy 复制光标处的一行、#行
粘贴 p 粘贴到光标处之后、之前
x 或 Delete键 删除光标处的单个字符
dd、#dd 删除光标处的一行、#行
d^ 从光标处之前删除至行首
d$ 从光标处删除到行尾
C(大写的) 从光标处删除到行尾,并且进入输入模式
查找/撤销/保存
/word 向后查找字符串“word”
n、N 跳至后/前一个结果
u 撤销最近的一次操作
Ctrl + r 取消前一次撤销操作
ZZ 保存修改并退出
末行模式操作
:q! 放弃已有更改后强制退出
:wq 或 :x 保存已有修改后退出
:r /etc/filesystems 读入其他文件内容
[root@svr7 ~]# echo 123 > /opt/1.txt
[root@svr7 ~]# echo abc > /opt/2.txt
[root@svr7 ~]# vim /opt/2.txt
:r /etc/redhat-release #读入其他文件内容
:r /opt/1.txt #读入其他文件内容
字符串替换
:s/old/new 替换当前光标所在行第一个“old”
:s/old/new/g 替换当前光标所在行所有的“old”
:n,m s/old/new/g 替换第n-m行所有的“old”
:% s/old/new/g 替换文件内所有的“old
[root@svr7 ~]# head -10 /etc/passwd > /opt/abc.txt
[root@svr7 ~]# vim /opt/abc.txt
:s/root/admin/
:s/root/admin/g
:1,8 s/root/admin/g
:%s /root/admin/g
开关参数的控制
:set nu 或 nonu 显示/不显示行号
:set ai 或 noai 启用/关闭自动缩进
vim不允许多终端,打开同一个文件
vim不能创建目录