RHEL8.0快速入门系列笔记–VIM文件编辑器(七)
一、文件编辑工具(vim)
- Linux平台下的文本编辑器:emacs、nano、aedit、vi、vim
vi(visual aditor)编辑器通常简称为vi,它是Linux和Unix系统上 最基本的文本编辑器,类似于Windows系统下的记事本。学会它后,我们将在Linux的世界里游刃有余。 - 为什么要学习vim?
1.所有的Unix like系统都会内置vi文本编辑器,其他的文本编辑器则不一定会存在。
2.很多软件的编辑接口都会主动调用vi
3.vim具有程序编辑的能力,可以主动以字体颜色辨别语法的正确性,方便程序设计
4.程序简单,编辑速度快。
5.vim是vi的升级版
(一)vim编辑的三种模式
1、命令行模式
问:命令行模式可以干什么
答:可以进行一些基本的复制、删除、跳转、撤销、移动等
命令 | 含义 | 备注 |
---|---|---|
yy | 复制光标所在的行 | 3yy表示复制3行 |
p(小写) | 光标所在行后面粘贴 | |
P(大写) | 光标所在行前面粘贴 | |
gg | 光标快速跳转到文件行首,并且定位到首字符 | 3gg表示快速跳到文件第3行行首字符 |
G | 光标快速跳到文件尾行,并且定位到首字符 | |
home | 跳转到行首 | shift+6即^符号表示行首 |
end | 跳转到行尾 | shift+4即$符号表示行尾 |
dd | 删除光标所在行 | 3dd表示删除33行(包括光标所在行) |
d^ | 从光标位置删除至行首,不包括光标位置 | |
d$ | 从光标位置删除到行尾,包括光标位,与D作用相同 | |
dG | 删除光标所在的行以及下面所有行 | |
dgg | 删除光标所在的行以及上面所有行 | |
x(小写) | 删除光标所在字符后面一个字符,3x删除3个字符 | 类似于windows下的delete键 |
X(大写) | 删除光标所在字符前面一个字符,3X删除3个字符 | 类似于windiws下的backspace键 |
u | 撤销操作 | ctrll+r取消撤销 |
2、编辑模式
功能:编辑文件内容
进入方式:
1.i:在光标所在字符前开始插入;
2.a:在光标所在字符后开始插入;
3.o:在光标所在行下面开始插入;
4.I:在光标所在行开始插入,如果行首空格则在空格之后插入;
5.A:在光标所在行的行尾开始插入;
6.O:在光标所在行的上面另起一行开始插入;
7.S:删除光标所在行并开始插入
3、低行模式
[1] 如何进入低行模式
- 命令模式进入低行模式:按冒号(:)
- 编辑模式进入低行模式:先按ESC键退出到命令模式,然后在按冒号(:)
[2] 低行模式能做什么?
1.保存和退出
- 保存文件,命令:w;另存为到其他文件,命令:w 文件名
- 保存退出,命令wq;强制保存退出wq!
- 退出不保存,命令:q;强制退出q!
- 命令 :x在文件没有修改的情况下,表示直接退出(等价于:q),在文件修改的情况下表示保存并退出(:wq)
2.搜索功能
搜索
:/root n往下匹配;N往上匹配
替换模式
:%s/root/ROOT/ 全文搜索,替换每一行匹配到的第一个关键字
:%s/root/ROOT/g 全文搜索,替换每一行所有匹配的关键字
:%s/root/ROOT/gc 交互替换
:%s#/sbin/nologin#/bin/bash/g 更换分割符号
:7s/shutdown/SHUTDOWN/g 只替换第7行的内容
:noh (no highlight) 取消高亮
3.其他功能
临时设置行号
:set number 或 :set nu
永久设置行号
echo "set number" >> /etc/vimrc
:set list 查看控制符
地址定位
:1,5 w /tmp/5.txt 保存前5行内容到/tmp/5.txt
:r /tmp/5.txt 在光标所在行下面读取/tmp/5.txt文件内容
:3r /tmp/5.txt 在当前文本的第3行后读取/tmp/5.txt
:1,8d 删除文本的1到8行
:nr !command 在第n行下面读取命令所执行的结果
:n! command 用命令的执行结果替换第n行内容
(二)vim编辑器三种模式切换
命令模式(默认)---------》编辑模式(a、o、s)
编辑模式--------》命令模式(默认)(Esc键)
命令模式(默认)--------》末行模式(冒号:)
末行模式--------》命令模式(默认)(Esc)
(三)多窗口编辑问题
当两个终端同时打开或者意外结束文件时,会产生一个.swap文件(交换文件)
举例说明:
你在两个终端同时打开/tmp/passwd文件,会产生/tmp/.passwd.swap。这时,有六个按钮可以使用:
O(pen for Read-Only):打开成只读文件
E(dit):用正常方式打开编辑的文件,并不会载入暂存文件的内容。这很容易出现两个用户相互改变对方的文件的问题。
R(ecover):加载暂存文件的内容
D(elete):如果你确定这个暂存文件是没有用的,则可以删除
Q(uit):不进行任何操作,回到命令行
A(bort):忽略这个编辑行为,和Q类似
需要注意的是:
这个暂存文件不会因为你结束vim后自动删除,必须要手动删除,否则每次打开对应的文件时都会出现这样的提示。
(四)可视化模式(了解)
按键ctrl+v(可视化)或shift+v(可视行),然后按下上下左右方向键选中需要复制的区块,按下y键进行复制(不要按下yy),最后按下p键粘贴。
退出可视化Ecs