vim基礎使用

Linux小菜鸟發表於2024-06-30

五、vim編輯器的使用

所有的Linux系統都預設有vi編譯器,它就相當於Windows的記事本,當然,你也可以選擇更好用的vim編譯器,需要下載
yum install vim -y

vim 有三種模式
使用vim filename  wq!之後 這個命令如果filename不存在則 建立檔案
[root@bogon opt]# vim zhanghaowei.txt
[root@bogon opt]# ll
total 28
-rw-r--r--. 1 root root 159 Nov  9 14:52 1
-rw-r--r--. 1 root root 159 Nov  7 21:17 a1
-rw-r--r--. 1 root root 159 Nov  7 21:17 a2
-rw-r--r--. 1 root root 159 Nov  7 21:17 a3
drwxr-xr-x. 2 root root   6 Nov  7 21:19 abc
-rw-r--r--. 1 root root  20 Nov  9 14:58 a.py
drwxr-xr-x. 2 root root  23 Nov  7 17:30 ddd
-rw-r--r--. 1 root root 105 Nov  9 15:11 gushi.txt
drwxr-xr-x. 2 root root  20 Nov  7 17:25 he
-rw-r--r--. 1 root root 269 Nov  9 17:09 practice.tar.gz
drwxr-xr-x. 2 root root   6 Sep 10 16:18 rh
-rw-r--r--. 1 root root   0 Nov  9 19:38 zhanghaowei.txt

image-20231109193241256

【1】、vim重點 命令模式

使用vim 命令進入檔案之後預設的介面就是命令模式,在其他模式下也可以透過esc鍵進入命令模式

1、關於vim編輯器的貼上操作
   如果僅僅是中英文語句,可以直接貼上
   如果是程式碼如:python程式 比如運維的高階配置檔案語法yaml。這些有格式的文字資訊,就與要進入vim的paste模式,才可以保證 正確的格式,
2、在命令模式下輸入:set nu 可以顯示行號,便於檢視檔案內容,輸入set nonu刪除行號
3、首行和尾行:在命令模式下按下 gg回到首行, G(shift+g)回到尾行
4、行首和行尾:在命令模式下輸入0回到行首,$回到行尾
5、定位到指定行:在命令模式下,輸入:行號/行號+G 快速定位在某一行
6、複製、貼上:yy  複製游標所在行
	3yy  複製從游標行所在的行開始向下數的三行
	p   移動游標到你想要貼上的行,按下p,將貼上在下一行,按下P貼上在上一行
	u  撤銷上一步的動作
	CTRL+r   恢復撤銷的步驟
7、剪下、刪除
	dd (剪下後可以選擇不貼上那就是刪除)
	數字+dd (剪下幾行)
	D  刪除當前行游標處以及後續的內容
8、刪除內容:在命令模式下輸入x刪除游標處的內容。
9、刪除所在行以及其後後面的 所有內容  dG

【2】、底線命令模式

在命令模式下輸入冒號(英文),進入底線命令模式

1、:w  寫入
2、:q  不儲存退出
3、q   退出,(vim發現你寫入了一些東西,不會讓你直接退出,會提示你輸入的資料還要不要)
4、!q  強制退出不儲存
5、:wq   儲存寫入並退出
6、另存為檔案::w  /dict/newfilename.txt
查詢搜尋命令
在vim的命令模式下,輸入/ 在加上要查詢的字元就可以進行搜尋了,搜尋出來的關鍵字會高亮顯示,在命令模式下輸入:noh會取消高亮顯示	

image-20231113205125969

替換功能
1、單行替換
在底線命令模式下輸入:s/原內容/新內容/   替換一次游標所在行的原內容,如果游標所在行沒有原內容,則報錯。
替換多次游標所在行的原內容  s/原內容/新內容/g  單行的全域性替換
2、全篇替換
把文章中所有的舊內容替換為新內容 
(1)逐行尋找,並且只把每行尋找到的第一個關鍵字進行替換  %s/原內容/新內容/
(2)把全文中所有的關鍵字都替換掉   %s/原內容/新內容/g

【3】、貼上模式(paste模式)

在日常工作中我們會頻繁複制各種配置檔案的資訊,並且絕大多數的檔案都有格式,如縮排等.在底線命令模式下,輸入:set paste 進入貼上模式,在這個模式下去貼上資訊,就不會發生格式上的改變。

image-20240327230705622

【4】、視覺化模式 (視覺化塊)

 vim本身是行操作,視覺化模式提供了列操作
1、先確定游標位置
2、在命令模式下按下ctrl+v,進入視覺化模式
3、使用鍵盤的上下左右鍵選擇區域(選擇好之後可以,執行p,yy,dd,u等 操作
4、可以進入編輯模式修改文字了(輸入I進入編輯模式,可以開始修改了,修改完成後按兩下esc鍵,完成全部替換,並且退出)

可以使用視覺化模式進行多行新增註釋和多行取消註釋。

【5】、vim的swap處理

在使用vim開啟檔案時,有時會出現:Find a swap file by the name "filename.txt.swp"這個報錯
出現原因:
1、有多個人同時開啟處理這個檔案
2、輸入完內容後,沒有按照正確的儲存格式退出
Linux為了保護資料會出現一個swap檔案,例如在輸入資料時突然斷電,系統會生成swap檔案

image-20231114131604064

0:只讀模式開啟  E和R:覆蓋   Q和A:都是退出
上面這是多人同時開啟一個檔案時出現的錯誤
下面是未按照標準規定退出的情況所報的錯誤
我們可以看process後面的提示進行區分,still running表示還有別人你在操作

image-20231114132100777

寫一個python檔案使得其可以高亮顯示
方法1:可以把檔案的副檔名寫為.py  同理如果我們想寫一個shell檔案、html檔案等可以把副檔名改為對應的形式
方法2:在檔案中加上檔案頭,在Linux中會自帶一些語言的編譯器
[root@bogon sbin]# ll /usr/bin/python
lrwxrwxrwx. 1 root root 7 Sep  7 17:50 /usr/bin/python -> python2
我們只需要將路徑加到檔案的最開始即可

這裡需要注意:高亮顯示一定是要開啟的。在vim的底線命令模式下開啟和關閉
syntax on 開啟顏色
syntax off 關閉顏色

image-20231117185736675