vi是系统自带的。vim是增强版
安装vim:yum -y install vim*
vi编辑器:编辑文本文件中的内容的工具
启动vim:vim 文件
vim的模式
命令模式:仅仅可以查看内容,但是不能进行修改(默认)
输入模式:可以对文件中的内容进行修改
末行模式:此模式可以执行一些命令
vi打开文件:vi 文件名
1.从命令模式到输入模式
i:在光标所在位置的前插入内容
o:在光标所在行的下面新开一行,然后进入输入模式
2.命令模式下的常用操作
yy:复制光标所在的行
nyy:复制光标所在的行开始向下的N行
dd:剪切光标所在的行
ndd:剪切光标所在的行开始向下的N行
p(小):粘贴到光标所在行的下面
dG:删除光标所在的行到末尾全部的行
u:撤销上次所指向的操作(相当于windows中ctrl+z)
ctrl+r: 撤销u操作
nG:跳转到第n行
G:直接跳转到最后一行
Home键:跳到行首:
End键:跳到行尾
ctrl+f:向下翻一屏 pgup
ctrl+b:向上翻一屏 pgdn
/string:在文件中搜索指定的字符串
n:正向查找
N:反向查找
3.从输入模式到命令模式:esc
4.从编辑模式到末行模式:在编辑模式下按shift+:
5.末行模式下的常用操作:
第一类命令:行号
set nu:显示行号
set nonu:关闭行号
第二类命令:跳转
num:直接跳转到第num行
$:直接跳转到最后一行
第三类命令:取消匹配到的内容的高亮
nohl
1,3 d: 删除1-3行内容
1,3 m 5 :移动1,3行内容至第5行
1,3 co 5; 复制1,3行内容至第5行
第四类命令:替换
start,end s/原始内容/替换内容/g g代表整行
(分隔符不一定是/,只要是三个相同的符号即可)
注意:
如果不用g,那么仅仅会替换每行的第一个找到的对象
如果使用g,那么会将范围内所有找到的对象全部做替换
例子:将54到56之间的echo替换为bajie:
54,56 s/echo/bajie/g
例子:将文件中全部的echo替换为bajie
:1,$ s/echo/bajie/g
或
:% s/echo/bajie/g
例子:将文件的50-100行行首添加一个#
:50,100 s/^/#/g
例子:1-5行首添加空格
:1,5 s/^/ /g
例子:将全部行首的空格删除
:1,$ s/^ //g
例子:将全部行首的#删除
:1,$ s/^#//g
例子:将1-5行中的a删除
:1,5 s/a//g
例子:在1-5行的末尾添加一个#
:1,5 s/$/#/g
例子:将文件中全部的/替换为+
:% s@/@+@g
补充1:
^:表示行首
$:表示行尾
%:表示所有行
第五类命令:保存和退出
w:执行保存操作(保存到原始文件中)
w /path/to/file:实现文件另存为
q:退出
!:强制执行操作
第六类命令:高级操作
!命令:在vi中直接执行命令
r /path/to/file:将file中的内容导入到当前文件中
6.分屏操作
vim -o file1 file2:实现水平分屏
vim -O file1 file2: 实现垂直分屏
ctrl+w:切换到另一个分屏
打开文件的小技巧
vim +num file:打开文件的时候,自动跳转到第num行(加号不可省略)
vim + file:打开文件的时候,自动跳转到最后一行
7.vi的配置文件
/etc/vimrc:全局配置文件,在这个文件中做的配置,会对所有用户生效
~/.vimrc:(默认不存在,需要自己手动创建)用户配置文件,仅仅对当前用户生效
例子: 编辑vi的配置文件,实现可以自动显示行号、缩进4个字符、自动对齐
# vi ~/.vimrc
:set nu
:set ai
:set tabstop=4
7.vi崩溃缓存机制:用vim编辑一个文件时,如果文件没有正常的关闭(wq、q、q!),那么就会生成一个崩溃缓存文件
崩溃缓存文件的和作用
1. 缓存文件是隐藏文件
2. 缓存文件基本格式是 .file.swp
3. 缓存文件的作用是用于在系统意外关机的情况下,恢复文件中的内容(修改了文件内容,意外关掉终端或者系统)
4. 缓存文件的使用方式
第一步:Q退出
第二步:vim -r 源文件(不是崩溃缓存文件名)wq保存退出
第三步:rm -rf 崩溃缓存文件
第四步:查看源文件,内容恢复