檔案管理-Linux系統VIM編輯
阿新 • • 發佈:2021-01-02
- VIM基本介紹
- VIM模式介紹
- VIM命令模式
- VIM編輯模式
- VIM末行模式
- VIM檢視模式
- VIM環境變數
- VIM擴充套件知識
- VIM練習
VIM基本介紹
vi和vim命令是linux中強大的文字編輯器,由於Linux系統一切皆檔案,而配置一個服務就是在修改其配置檔案的引數。vim編輯器是運維工程師必須掌握的一個工具, 沒有它很多工作都無法完成
vim其實是vi的升級版
那麼vi與vim有什麼區別?
vi不顯示高亮顏色語法
vim顯示高亮顏色語法。
其他功能沒有什麼區別
所以在linux系統下,使用vi還是vim取決個人習慣。
如果在剛裝完的CentOS作業系統下沒有vim這個命令,用如下方式進行安裝即可
yum install -y vim-enhanced
VIM模式介紹
Vim編輯器中設定了三種模式:
命令模式、編輯模式
、末行模式,每種模式分別又支援多種不同的命令快捷鍵,大大提高了工作效率,而且使用者在習慣之後也會覺得相當順手。要想高效率地操作文字,就必須先搞清這三種模式的操作區別以及模式之間的切換方法
命令模式: 控制游標移動, 可對文字進行復制、貼上、刪除等工作。 使用vim filename 編輯一個檔案時,一進入該檔案就是命令模式了。 在這個模式下,可以進行游標移動、複製、刪除、貼上操作。 編輯模式: 正常的文字寫入。 從命令模式進入編輯模式,只需你按一個鍵即可(i, I, a, A, o, O, r, R)。 當進入編輯模式時,會在螢幕的最下一行出現“INSERT的字樣。 從編輯模式回到命令模式只需要按鍵盤左上方的 ESC 鍵即可。 末行模式: 儲存或退出文件,以及設定編輯環境 在命令模式下,輸入 “:” 或者 “/“ 即可進入末行模式。 在該模式下,可以進行的操作有,顯示行號、搜尋、替換、儲存、退出。
vim編輯器配置檔案整體流程如下:
1.預設開啟檔案處於命令模式
2.需要從命令模式切換至編輯模式
3.編輯模式修改配置檔案, 然後返回命令列模式
4.最後通過命令模式進入末行模式,儲存和退出操作
注意:在vim中,無法直接從編輯模式切換到末行模式。
VIM命令模式
命令列模式:(預設開啟檔案進入的是命令列模式)
//命令游標跳轉 G 跳轉游標至末端 gg 跳轉游標至頂端 Ngg 跳轉游標至當前檔案內的22行 $ 將當前游標跳轉至游標所在行的末端(尾部) ^ 將當前游標跳轉至游標所在行的頭部 —> 數字0 可實現類似效果 //檔案內容較多 ctrl+f 往下翻頁(行比較多) ctrl+b 往上翻頁 //複製 yy複製當前游標所在的行 5yy複製當前游標以及游標向下4行 //貼上 p(小寫) 貼上至當前游標下一行 P(大寫) 貼上至當前游標上一行 //刪除 dd 刪除當前游標所在的行 4dd 刪除當前游標所在的行以及往下的3行 dG 刪除當前游標以後的所有行 D 刪除當前游標及游標以後的內容 x 刪除當前游標標記往後的字元 X 刪除當前游標標記往前的字元 //剪貼 先刪除dd(number dd),後貼上p //撤銷 u 撤銷上一次的操作(類似windows下的ctrl+z) //替換 r 替換當前游標標記的單個字元 R 進入REPLACE模式, 連續替換,ESC結束
VIM編輯模式
編輯模式(從命令列模式進入到編輯模式)
i 進入編輯模式,游標不做任何操作
I 進入編輯模式,並且游標會跳轉至本行的頭部
a 進入編輯模式,將當前游標往後一位
A 進入編輯模式,將游標移動至本行的尾部
o 進入編輯模式,並在當前游標下新增一行空白內容
O 進入編輯模式,並在當前游標上新增一行空白內容
VIM末行模式
末行模式主要用於搜尋, 儲存, 退出檔案, 還可以讓使用者執行外部的Linux命令或跳轉到所編寫文件的特定行數
末行模式(必須退回到命令列模式)
:w 儲存當前狀態
:w! 強制儲存當前狀態
:q 退出當前文件(文件必須儲存才能退出)
:q! 強制退出文件不會修改當前內容
:wq 先儲存,在退出
:wq! 強制儲存並退出
:x 先儲存,在退出
ZZ 儲存退出, shfit+zz
:number 跳轉至對應的行號
末行模式(查詢和替換)
查詢 /string 需要搜尋的內容(查詢)
n 按搜尋到的內容依次往下進行查詢
N 按搜尋到的內容依次往上進行查詢
替換
:1,5s#sbin#test#g 替換1-5行中包含sbin的內容為test
:%s#sbin#test#g 替換整個文字檔案中包含sbin的替換為test
:%s#sbin#test#gc 替換內容時時提示是否需要替換
另存
:w /root/test 將檔案所有內容另存為/root/test
讀入
:r /etc/hosts 讀入/etc/hosts檔案至當前游標下面
:5r /etc/hosts 指定/etc/hosts檔案當前檔案的哪行下面
VIM檢視模式
檢視模式(從命令列模式進入檢視模式)
ctrl+v 進入VISUAL BLOCK 選中需要註釋的行(可視塊模式)
1.插入:按shift+i進入編輯模式,輸入#,結束按ESC鍵
2.刪除:選中內容後,按x或者d鍵刪除
3.替換:選中需要替換的內容, 按下r鍵,然後輸入替換後的內容
shift+v 進入VISUAL LINE 選中行內容(可視行模式)
1.複製:選中行內容後按y鍵及可複製。
2.刪除:選中行內容後按d鍵刪除。
VIM環境變數
環境變數臨時生效
:set nu 顯示行號
:set ic 忽略大小寫, 在搜尋的時候有用
:set ai 自動縮排
:set list 顯示製表符(空行、tab鍵)
:set no[nu|ic|ai…] 取消臨時設定的變數
環境變數永久生效
~/.vimrc 個人環境變數(優先順序高) /etc/vimrc 全域性環境變數
# vim ~/.vimrc
set nu
set ic
//如果個人vim環境沒有配置, 則使用全域性vim環境變數配置。
//如果個人vim環境和全域性環境變數產生衝突, 優先使用個人vim環境變數。
VIM擴充套件知識
1.如何同時編輯多個檔案
vim -o file1 file2 水平分割
vim -O file1 file2 垂直分割
//ctrl+ww 檔案間切換
2.相同檔案之間差異對比
diff 檔案對比(用的不多)
vimdiff 以vim方式開啟兩個檔案對比,標記不同的內容
3.如果VIM非正常退出 (ctrl+z)掛起或強制退出終端沒關閉VIM後
//刪除同文件名的.swp檔案即可解決
.filename.swp rm -f .filename.swp
VIM練習
請把/etc/passwd 複製到/root/目錄下,並重命名為test.txt
用vim開啟test.txt並設定行號
分別向下、向右、向左、向右移動5個字元
分別向下、向上翻兩頁
把游標移動到第10行
讓游標移動到行末,再移動到行首
移動到test.txt檔案的最後一行
移動到檔案的首行
搜尋檔案中出現的 root 並數一下一共出現多少個,不區分大小寫搜尋
把從第一行到第三行出現的root 替換成–alex–
還原上一步操作
把整個檔案中所有的root替換成–alex–
把游標移動到20行,刪除本行
還原上一步操作
刪除第19行
還原上一步操作
刪除從5行到10行的所有內容
還原上一步操作
複製2行並貼上到11行下面
還原上一步操作(按兩次u)
複製從11行到15行的內容並貼上到8行上面
還原上一步操作(按兩次u)
把13行到18行的內容移動檔案的尾部
還原上一步操作(按兩次u)
游標移動到首行,把/sbin/nologin改成/bin/bash
在第一行下面插入新的一行,並輸入”# Hello!”
儲存文件並退出