vim编辑常用语法及打包压缩

vim三种模式

1.普通模式(命令模式)

#### 光标跳转
G:将光标跳转到最后⼀⾏
Ngg:将光标跳转到指定⾏
gg:将光标跳转到第⼀⾏
$:将光标跳转到⾏末
^:将光标跳转到⾏⾸
0:将光标跳转到⾏⾸
#### 复制粘贴
yy:复制当前光标所在⾏
Nyy 或 yNy:复制当前以下多少⾏
p:当复制⾏的时候,是往当前光标所在⾏的下⼀⾏粘贴内容,剪切的是字符的时候,往当前光标所在
字符的右边粘贴
P:当复制⾏的时候,是往当前光标所在⾏的上⼀⾏粘贴内容,剪切的是字符的时候,往当前光标所在
字符的左边粘贴
#### 删除和剪切
dd:删除或剪切当前光标所在⾏
Ndd 或者 dNd:删除或剪切指定⾏数内容
dG:剪切当前光标所在⾏⼀直到⽂件末尾
dgg:剪切当前光标所在⾏⼀直到⽂件开头
D:删除或剪切当前光标所在字符到⾏末
x:删除或剪切当前光标所在字符
X:删除或剪切当前光标所在字符的前⼀个字符
#### 替换撤回
r:单个替换
R:依次替换
u:撤回
ctrl + r:撤销撤回

2.编辑模式

#### 如何进⼊编辑模式
o:当前 光标所在⾏的下⼀⾏进⼊ 编辑模式
O:当前 光标所在⾏的上⼀⾏进⼊ 编辑模式
i:在当前光标所在字符前⾯ 进⼊编辑模式
I:当前光标所在⾏的⾏⾸,进⼊编辑模式
a:在当前光标所在字符的后⾯ 进⼊编辑模式
A:在当前光标所在⾏的⾏末 进⼊编辑模式
s:删除当前光标所在字符,并且进⼊编辑模式
S:删除当前光标所在⾏的整⾏内容 ,并且进⼊编辑模式

3.末行模式

/:搜索关键字

如果想要从 编辑模式 切换到 末⾏模式

按ESC,输⼊冒号

替换

:%s###g
%:所有⾏ s:替换 g: c:询问 %可以换成数字,表示多少⾏
:wq 保存退出
:w :保存不退出
:q :退出不保存
:wq! :强制保存退出
:w! :强制保存不退出
:q! :强制退出不保存
:x : 保存退出
:x! : 强制保存退出
ZZ :保存退出
Ctrl + f:向上翻⻚
Ctrl + b:向下翻⻚
:set nu :加行号
:set nonu :取消加行号
:set ic : 不区分大小写搜索
:set noic :取消不区分大小写搜索
:set list :显示制表符和tab键
:set nolist :取消显示制表符和tab键
:set ai 自动缩进
:set noai :取消自动缩进```

#### 视图模式

可视 ⾏(只能在普通模式 命令模式进⼊)

Shift + v

可视 块

Ctrl + v

将⼀个⽂件的5-15⾏,前⾯加注释

1.⾸先将光标跳转到第五⾏
1)5gg
2)上下左右
3):5
2.Ctrl + v 进⼊可视块模式
3.15gg,将光标选中5-15⾏ 4.Shift + i 进⼊编辑模式
5.输⼊ # 号 6.输⼊ ESC

![](https://img2020.cnblogs.com/blog/2082997/202007/2082997-20200712184704431-1433800063.png)
出现上图这种情况因为非法退出vim或者同时用vim打开两个文件产生了一个后缀为.swap的隐藏文件,可以用ls -a 查看隐藏文件然后删除就好了
### 打包和解压缩
![](https://img2020.cnblogs.com/blog/2082997/202007/2082997-20200712184929051-927921207.png)

gzip 压缩命令

Usage: gzip [OPTION]... [FILE]...
1.gzip 只能压缩⽂件,不能压缩⽬录
2.gzip 压缩⽂件之后,源⽂件会消失
3.gzip 解压⽂件后,压缩包会消失
4.gzip 压缩⽂件,后⾯可以跟多个⽂件名,但是会分别压缩⼀个包
5.使⽤zcat可以直接查看压缩包中⽂件内容
6.打包的⽂件在哪个路径下,然后就把包放在源⽂件所在的⽬录中

单个⽂件压缩

[root@localhost ~]# gzip file1

多个⽂件压缩

[root@localhost ~]# gzip file2 file3

解压

[root@localhost ~]# gzip -d file1.gz

查看⽂件类型

[root@localhost ~]# file file1.gz

zip 压缩命令

Usage:zip [option] [filename] [file]...
1.zip 压缩⽂件,源⽂件不会消失
2.zip 解压后,如果⽬录下存在和压缩包内相同的⽂件名,则询问是否覆盖
3.zip 压缩⽬录,什么参数都不加的情况下,只能打包空⽬录,如果想要打包⽬录下所有内容加 -r参 数4.如果打包的是绝对路径,那么会把绝对路径的内容都打包进去,并且删除/,打包,在哪个⽬录下执
⾏,就会打包到哪个⽬录下
zip ⾏李箱 ⾐服...
-r:递归打包
-q:不输出打包过程

打包单个⽂件

[root@localhost ~]# zip f.zip file1

打包多个⽂件

[root@localhost ~]# zip f.zip file1 file8

打包⽬录

[root@localhost ~]# zip -r zls_dir.zip /root/zls_dir

### tar归档

tar 归档

⽤法: tar [选项...] [FILE]...
c:创建新的归档⽂件(create) x:解压归档⽂件
f:指定包⽂件名(⾏李箱),如果是多个选项,f⼀定要放在最后
v:显示过程
z:归档之后使⽤gzip压缩
P:不删/ ,使⽤绝对路径打包
t:查看压缩包中的压缩项⽬
C:指定解压路径
j:
J:
h:打包软链接
X:将要排除的⽬录或者⽂件,写到⽂件中,然后使⽤X指定该⽂件,即可排除
--exclude:直接写要排除的⽂件或者⽬录
1.tar解压会覆盖⽂件,覆盖⽂件,不会提示
2.tar.gz => tgz

原文地址:https://www.cnblogs.com/zabcd/p/13289400.html