Linux檔案編輯工具——VIM
阿新 • • 發佈:2021-07-09
Linux檔案編輯工具——VIM
1.VIM基本概述
1.1 什麼是vim
- vi 和 vim 是 Linux 下的一個文字編輯工具。(可以理解為
windows 的記事本,或 Notepad++
1.2 為什麼需要vim
- 因為 Linux 一切皆為檔案,而我們工作最多的就是修改某個
服務的配置 (其實就是修改檔案內容)。
也就是說如果沒有 vi/vim 我們很多工作都無法完成。所以
vim 是學習 linux 最重要的命令之一
1.3 vi與vim的區別
- vi 和 vim 都是文字編輯器,只不過 vim 是 vi 的增強版,
比 vi 多了語法高亮顯示,其他編輯功能幾乎無差,所以使用
vi 還是 vim 取決個人習慣。
由於前期我們採用最小化安裝作業系統所以沒有 vim 命令,
可以使用 yum install vim 進行安裝
1.4 如何使用vim
-
在使用 VIM 之前,我們需要先介紹下 VIM 的三種模式: 普通模式、編輯模式、末行模式
每種模式分別支援多種不同的快捷鍵,要想高效率地操作文
本,就必須先搞清這三種模式的操作區別以及模式之間的切
換方法。
-
VIM模式三種模式介紹
- 1.普通模式:主要是控制游標移動,可對文字進行復
制、貼上、刪除等工作。- 使用 vim filename 編輯一個檔案時,一進入該文
件就是普通模式了。 - 在這個模式下,可以進行游標移動、複製、刪除、
貼上操作。
- 使用 vim filename 編輯一個檔案時,一進入該文
- 2.編輯模式:主要進行文字內容編輯和修改
- 從普通模式進入編輯模式,只需你按一個鍵即可 i,
I, a, A, o, O - 當進入編輯模式時,會在螢幕的最下一行會出現
INSERT|插入 標記 - 從編輯模式回到普通模式只需要按鍵盤左上方的
ESC 鍵即可。
- 從普通模式進入編輯模式,只需你按一個鍵即可 i,
- 3.末行模式:主要用於儲存或退出文字。
- 在普通模式下,輸入 ":" 或者 "/" 即可進入末行模
式。 - 在命令該模式下,可進行的操作有,顯示行號、搜
索、替換、儲存、退出。
- 在普通模式下,輸入 ":" 或者 "/" 即可進入末行模
- 4.小結:vim編輯開啟檔案整體流程如下:
- 1.預設開啟檔案處於普通模式
- 2.從普通模式切換至編輯模式需要使用a、i、o
- 3.編輯模式修改完畢後需要先使用ECS返回普通模式
- 4.在普通模式輸入":"或"/"進入末行模式,可實現文
件的儲存與退出。
- 注意:在vim中,無法直接從編輯模式切換到末行模
式
- 1.普通模式:主要是控制游標移動,可對文字進行復
2.VIM模式使用
2.1 普通模式
- 普通模式,主要用於游標移動,複製,貼上,刪除,替
換;
#1.命令游標跳轉
G #游標跳轉至末端
gg #游標跳轉至頂端
Ngg #游標跳轉至當前檔案內的N行
$ #游標跳轉至當前游標所在行的尾部
^|0 #游標跳轉至當前游標所在行的首部
-------------------------------------------
#2.檔案內容較多
ctrl+f #往下翻頁(行比較多)
ctrl+b #往上翻頁
-------------------------------------------
#3.複製與貼上
yy #複製當前游標所在的行
5yy #複製當前游標以及游標向下4行
p(小寫) #貼上至當前游標下一行
P(大寫) #貼上至當前游標上一行
-------------------------------------------
#4.刪除、剪貼、撤銷
dd #刪除當前游標所在的行
4dd #刪除當前游標所在的行以及往下的3行
dG #刪除當前游標以後的所有行
D #刪除當前游標及游標以後的內容
x #刪除當前游標標記往後的字元
X #刪除當前游標標記往前的字元
dd & p #剪貼、先刪除dd(number dd),後貼上p
u #撤銷上一次的操作
-------------------------------------------
#5.替換
r #替換當前游標標記的單個字元
R #進入REPLACE模式, 連續替換,ESC結束
2.2 編輯模式
- 編輯模式,主要用於編輯檔案
i #進入編輯模式,游標不做任何操作
a #進入編輯模式,將當前游標往後一位
o #進入編輯模式,並在當前游標下新增一行空白內容
-------------------------------------------
I #進入編輯模式,並且游標會跳轉至本行的頭部
A #進入編輯模式,將游標移動至本行的尾部
O #進入編輯模式,並在當前游標上新增一行空白內容
2.3 末行模式
- 末行模式,主要用於搜尋, 儲存, 退出檔案;
#1.檔案儲存與退出
:w 儲存當前狀態
:w! 強制儲存當前狀態
:q 退出當前文件(文件必須儲存才能退出)
:q! 強制退出文件不會修改當前內容
:wq 先儲存,在退出
:wq! 強制儲存並退出
:x 先儲存,在退出
ZZ 儲存退出, shfit+zz
:number 跳轉至對應的行號
-------------------------------------------
#2.檔案內容查詢
/string #需要搜尋的內容(查詢)
n #按搜尋到的內容依次往下進行查詢
N #按搜尋到的內容依次往上進行查詢
-------------------------------------------
#3.檔案內容替換
:1,5s#sbin#test#g #替換1-5行中包含sbin的內容為
test
:%s#sbin#test#g #替換整個文字檔案中包含sbin的替
換為test
:%s#sbin#test#gc #替換內容時時提示是否需要替換
-------------------------------------------
#4.檔案內容另存
:w /root/test.txt #將所有內容另存為/root/test.txt
檔案中
-------------------------------------------
#5.檔案內容讀入
:r /etc/hosts #讀入/etc/hosts檔案至當前游標下面
:5r /etc/hosts #指定插入/etc/hosts檔案至當前檔案的
第五行下面
2.4 檢視模式
- 檢視模式(從普通模式進入檢視模式),主要進行批量操作
ctrl+v 進入可視塊模式,選中需要註釋的行
1.插入:按shift+i進入編輯模式,輸入#,結束按ESC鍵
2.刪除:選中內容後,按x或者d鍵刪除
3.替換:選中需要替換的內容, 按下r鍵,然後輸入替換後的
內容
-------------------------------------------
shift+v 進入可視行模式,選中整行內容
1.複製:選中行內容後按y鍵及可複製。
2.刪除:選中行內容後按d鍵刪除。
3.VIM擴充套件知識
3.1 vim配置環境變數
- 1.臨時為開啟的檔案 ”顯示行號“、“忽略大小寫” 等環境;
:set nu #顯示行號
:set ic #忽略大小寫, 在搜尋的時候有用
:set ai #自動縮排
:set list #顯示製表符(空行、tab鍵)
:set no[nu|ic|ai…] #取消臨時設定的變數
- 2.如果希望 ”顯示行號“、“忽略大小寫” 等;永久生效,需
要將內容寫入配置檔案中;- ~/.vimrc 個人環境變數,針對當前使用者(優先順序高)
- /etc/vimrc 全域性環境變數,針對系統中所有使用者
- 如果個人 vim 環境沒有配置,則使用全域性 vim 環境變數
配置。 - 如果個人 vim 環境和全域性環境變數產生衝突,優先使用個
人 vim 環境變數。
# vim ~/.vimrc
set nu
set ic
# vimrc例子
https://www.cnblogs.com/zyos/p/9213878.html
3.2 vimdiff檔案比對
相同檔案之間差異對比,通常用於對比修改前後差異
# diff #檔案對比(略過)
# vimdiff #以vim方式開啟兩個檔案對比,高亮顯示不同的
內容
3.3 wim異常退出處理
當使用 vim 開啟一個新的檔案時,如果修改了檔案內容,此
時強制退出終端,則會造成異常現象;
#假設開啟filename檔案被以外關閉,需要刪除同文件名的.swp
檔案即可解決
# rm -f .filename.swp
4. VIM練習示例
4.1 vim練習示例1
- 1.將/etc/passwd 複製到/root/目錄下,並重命名為
test.txt - 2.用vim開啟test.txt並顯示行號
- 3.分別向下、向右、向左、向右移動5個字元,分別向
下、向上翻兩頁 - 4.把游標移動到行末,再移動到行首,移動到test.txt文
件的最後一行,移動到檔案的首行- 行末:$
- 行首:^
- G gg
- 5.搜尋檔案中出現的 root 並數一下一共出現多少個,不
區分大小寫搜尋 - 6.把從第一行到第三行出現的root 替換成--dd--,然後
還原上一步操作\ - 7.把整個檔案中所有的root替換成--dd--
- 8.把游標移動到20行,刪除本行,還原上一步操作
- 9.刪除第19行,還原上一步操作
- 10.刪除從5行到10行的所有內容,還原上一步操作
- 11.複製2行並貼上到11行下面,還原上一步操作(按兩
次u) - 12.複製從11行到15行的內容並貼上到8行上面,還原
上一步操作(按兩次u) - 13.把13行到18行的內容移動檔案的尾部,還原上一步
操作(按兩次u) - 14.游標移動到首行,把/sbin/nologin改成/bin/bash
- 15.在第一行下面插入新的一行,並輸入"# Hello!"
- 16.儲存文件並退出
4.2 vim練習示例2
- 1.使用vim開啟proxy.conf檔案
- 2.修改Listen為listen小寫,並將8080修改為80
- 3.修改ServerName為server_name小寫。
- 4.修改vim.EXAMPLE.com為vim.example.com
- 5.在server_name行下插入一行 root /code;
- 6.複製5-14行的內容,然後將其貼上到14行下面
- 7.如上操作完成後,在13-20行前面加上#號
- 8.刪除21-23的行,然後儲存當前檔案
- 9.刪除與proxy_set_header相關的兩行全部刪除
[root@www ~]# cat proxy.conf
server {
Listen 8080;
Server_Name vim.EXAMPLE.com;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $http_host;
proxy_set_header X-Forward-for;
proxy_intercept_errors on;
proxy_next_upstream error timeout;
proxy_next_upstream_timeout 3s;
proxy_next_upstream_tries 2;
error_page 500 502 403 404 =
/proxy_error.html;
}
location = /proxy_error.html {
root /code/proxy;
}
}
本文來自部落格園,作者:GaoBeier,轉載請註明原文連結:https://www.cnblogs.com/gao0722/p/14992449.html