vim分为三种模式:命令模式、编辑模式、底行模式
(1)命令模式
用vim命令打开一个文件后,默认的状态就是普通模式。在这个模式中,不能进行编辑机输入操作,但可以按“上”、“下”、“左”、“右”键来移动光标,也可以执行一些操作命令进行如删除、复制、粘贴等工作。
(2)编辑模式
在普通模式下不能进行编辑输入操作,只有按下“i,I,o,O,a,A,r,R,s,S”(其中“i”最常用)等字母进入编辑模式后才可以执行录入文字等编辑操作。
(3)底行模式
在普通模式下,输入“:”或“/”或“?”时,光标会自动定位到那一行。在这个模式中,可以执行保存、搜索、退出、替换、显示行号等相关操作。
1、vim编辑器的快捷键
光标移动操作:
l:光标向右移动
h:光标向左移动
j:光标向下移动
k:光标向上移动
gg或1G:将光标移动到文本的首行
10G或10gg:将光标移动到第10行
G:将光标移动到文本的末尾
$或End:移动光标到所在行的行尾
^或Home:移动光标到所在行的行首
显示或取消行号
:set nu 显示行号
:set nonu 取消行号
删除操作:
cc;删除光标所在行,并进入编辑模式
D:删除光标所在行后面的内容
d+G:删除光标所在行之后所有的位置
100D:删除光标所在行下的100行
dw:删除火剪贴相同符号间的内容
复制:
yy:复制光标当前行
粘贴:
p:粘贴到光标所在下面的行
3p:多次粘贴
dd:剪贴光标所在行
:1copy5:复制第一行到第五行下面 简写:1co5
:1move5:移动第一行到第五行下面
:$s#root#oldboy#g 把root替换成oldboy,g是全局
编辑:
O:在光标所在行的上面处插入一行,并进入编辑模式
o:在光标所在行的下面处插入一行,并进入编辑模式
C:删除光标所在位置到行尾的内容并进入编辑模式
A:快速到达行尾并进入编辑模式
其他:
查找:
1>/要搜索的内容(默认向下),按n向下查找,按N向上查找
2>?要搜索的内容(默认向上),按n向上查找,按N向下查找
取消高亮::noh
u:撤销当前操作
ctrl+r:恢复刚才的操作
批量快捷键
批量删除:进入批量编辑模式(可视化)Ctrl+v,选择上下左右键,删除d
批量增加:进入批量编辑模式(可视化)Ctrl+v,选择区域,输入大写的I进入编辑模式编辑,按下Esc键
2、echo:显示输出文本内容
参数:
-n 不换行显示
-e 激活特殊符合 比如:/t /n
> 输出重定向,先清空,在写入
>> 追加输出重定向
-n 不换行显示
[root@oldboy-59 ~]# echo {1..10}
1 2 3 4 5 6 7 8 9 10
[root@oldboy-59 ~]# echo {01..10}
01 02 03 04 05 06 07 08 09 10
[root@oldboy-59 ~]# echo {01..10..2}
01 03 05 07 09
[root@oldboy-59 ~]# echo {01..10..3}
01 04 07 10
[root@oldboy-59 ~]# echo {01..10}
01 02 03 04 05 06 07 08 09 10
3、seq:生成序列
语法:
[1] seq 尾数
[2] seq 首数 尾数
[3] seq 首数 增量 尾数
seq 100
seq 20 100 默认加1
seq 20 3 100 显示加几
参数:
-w 在列前添加0 使得宽度相同
[root@linux-yunwei01 ~]# seq -w 100
001
002
003
004
4、cat:查看文件内容
文件合并
cat 第一个文件 第二个文件>>all.txt
参数:
-n 统计文件行号
-b 统计文件行号,但滤过空行
cat还有生成文件内容的作用
如:
cat >> a.txt << EOF
> ldfkdsfsfdsf
>sfsdfdsfds
>EOF ---追加
cat > a.txt << EOF
>ldfkdsfsfdsf
>sfsdfdsfds
>EOF ---覆盖
5、more:分页显示文件内容
查看到文件的底部自动退出
参数:
f:下一页;
b:上一页;
q:退出
6、less:分页显示文件内容(常用)
查看到文件的底部,不退出
参数:
f:下一页;
b:上一页;
q:退出
/要搜索的内容 搜索查找 (n查找下一个,N查找上一个)
7、head:显示文件头部,默认是10行
参数:-n :显示文件前几行
head -n 20 a.txt
或
head -20 a.txt
[root@oldboy-59 ~]# head test.txt -n1
#! /bin/bash
[root@oldboy-59 ~]# head -n1 test.txt
#! /bin/bash
8、tail:显示文件内容尾部,默认显示10行
参数:
-n:显示文档后几行
-f:显示文档后几行(实时更新)
tail -n5 test.txt
tail -n1 test.txt -n2 以后面的优先
tailf = tail -f 查看实时的日志情况
9、alias :别名
系统默认给rm mv cp 定义了别名
alias 查看已定义的别名
alias rm='命令'
alias rm='echo command bny...'
坑:.bashrc 要注释里面的别名 rm
unalias 取消别名
设置网卡名称为别名eth0
alias eth0='vim /etc/sysconfig/network-scripts/ifcfg-eth0'