1. 程式人生 > 實用技巧 >vim編輯常用語法及打包壓縮

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:撤銷撤回

編輯模式

# 如何進⼊編輯模式
o:當前 游標所在⾏的下⼀⾏進⼊ 編輯模式
O:當前 游標所在⾏的上⼀⾏進⼊ 編輯模式
i:在當前游標所在字元前⾯ 進⼊編輯模式
I:當前游標所在⾏的⾏⾸,進⼊編輯模式
a:在當前游標所在字元的後⾯ 進⼊編輯模式
A:在當前游標所在⾏的⾏末 進⼊編輯模式
s:刪除當前游標所在字元,並且進⼊編輯模式
S:刪除當前游標所在⾏的整⾏內容 ,並且進⼊編輯模式

末行模式

/:搜尋關鍵字

如果想要從 編輯模式 切換到 末⾏模式

按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