Linux之檔案編輯vim
阿新 • • 發佈:2020-08-20
一、概述vim
1.vi和vim是Linux下的一個文字編輯工具。(可以理解為windows的記事本,或word文件)
2.為什麼要使用VIM?
因為Linux系統一切皆為檔案,而我們工作最多的就是修改某個服務的配置(其實就是修改檔案內容)。
也就是說如果沒有vi/vim,我們很多工作都無法完成。PS: vim是學習linux最重要的命令之一
3.VI與VIM有什麼區別?
vi和vim都是文字編輯器,只不過vim是vi的增強版,比vi多了語法高亮顯示,其他編輯功能幾乎無差,所以使用vi還是vim取決個人
習慣。(相當於windows系統下的文字編輯軟體“記事本”與”notepad++”的區別)PS:因為前期最小化安裝CentOS系統,所以預設情
況下沒有vim命令但可以使用yum install vim -y安裝
4.如何使用VIM編輯器?
在使用VIM之前,我們需要先介紹下VIM的三種模式: 普通模式、編輯模式、命令模式,每種模式分別支援多種不同的快捷鍵,
要想高效率地操作文字,就必須先搞清這三種模式的操作區別以及模式之間的切換方法。
5.VIM模式三種模式介紹
1.普通模式: 主要是控制游標移動,可對文字進行復制、貼上、刪除等工作。 使用vim filename 編輯一個檔案時,一進入該檔案就是普通模式了。 在這個模式下,可以進行游標移動、複製、刪除、貼上操作。 2.編輯模式: 主要進行文字內容編輯和修改 從普通模式進入編輯模式,只需你按一個鍵即可(i, I, a, A, o, O) 當進入編輯模式時,會在螢幕的最下一行會出現 “INSERT”標記 從編輯模式回到普通模式只需要按鍵盤左上方的 ESC 鍵即可。3.末行模式: 主要用於儲存或退出文字。 在普通模式下,輸入 “:” 或者 “/“ 即可進入命令模式。 在命令該模式下,可進行的操作有,顯示行號、搜尋、替換、儲存、退出。 小結: vim編輯開啟檔案整體流程如下: 1.預設開啟檔案處於普通模式 2.從普通模式切換至編輯模式需要使用a、i、o 3.編輯模式修改完畢後需要先使用ECS返回普通模式 4.在普通模式輸入”:”或”/“進入命令模式,可實現檔案的儲存與退出。 PS: 在vim中,無法直接從編輯模式切換到命令模式。
二、VIM模式使用
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.編輯模式(從普通模式進入到編輯模式)
i #進入編輯模式,游標不做任何操作 a #進入編輯模式,將當前游標往後一位 o #進入編輯模式,並在當前游標下新增一行空白內容 I #進入編輯模式,並且游標會跳轉至本行的頭部 A #進入編輯模式,將游標移動至本行的尾部 O #進入編輯模式,並在當前游標上新增一行空白內容
3.命令模式,主要用於搜尋, 儲存, 退出檔案。
#1.檔案儲存與退出 :w 儲存當前狀態 :w! 強制儲存當前狀態 :q 退出當前文件(文件必須儲存才能退出) :q! 強制退出文件不會修改當前內容 :wq 先儲存,在退出 :wq! 強制儲存並退出 :x 先儲存,在退出 ZZ 儲存退出, shfit+zz :number 跳轉至對應的行號 :set nu 顯示行號 :set nonu 不顯示行號 #2.檔案內容查詢 /string #需要搜尋的內容(查詢) n #按搜尋到的內容依次往下進行查詢 N #按搜尋到的內容依次往上進行查詢 #3.檔案內容替換 :1,5s#sbin#test#g #替換1-5行中包含sbin的內容為test :1,5s#sbin#test# #只替換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檔案至當前檔案的第五行下面
4.檢視模式(從普通模式進入檢視模式),主要進行批量操作
ctrl+v 進入可視塊模式,選中需要註釋的行 1.插入:按shift+i進入編輯模式,輸入#,結束按ESC鍵 2.刪除:選中內容後,按x或者d鍵刪除 3.替換:選中需要替換的內容, 按下r鍵,然後輸入替換後的內容 shift+v 進入可視行模式,選中整行內容 1.複製:選中行內容後按y鍵及可複製。 2.刪除:選中行內容後按d鍵刪除。
三、VIM擴充套件知識
1.環境變數臨時生效
:set nu #顯示行號 :set ic #忽略大小寫, 在搜尋的時候有用 :set ai #自動縮排 :set list #顯示製表符(空行、tab鍵) :set no[nu|ic|ai…] #取消臨時設定的變數
2.環境變數永久生效。~/.vimrc 個人環境變數(優先順序高) /etc/vimrc 全域性環境變數
# vim ~/.vimrc #當下次再開啟檔案自動顯示行號並忽略大小寫 set nu set ic #如果個人vim環境沒有配置, 則使用全域性vim環境變數配置。 #如果個人vim環境和全域性環境變數產生衝突, 優先使用個人vim環境變數。
3.如何同時編輯多個檔案
vim -o file1 file2 #水平分割 vim -O file1 file2 #垂直分割 #ctrl+ww 檔案間切換
4.相同檔案之間差異對比,通常用於對比修改前後差異
# diff #檔案對比 # vimdiff #以vim方式開啟兩個檔案對比,高亮顯示不同的內容
5.如果VIM非正常退出 (ctrl+z)掛起或強制退出終端沒關閉VIM後
#假設開啟filename檔案被以外關閉,需要刪除同文件名的.swp檔案即可解決 # rm -f .filename.swp