vim學習小結
參考書籍《Linux 從入門到精通》第二版(劉憶智 等編著)
Vim編輯器
背景:Vim的設計哲學就是讓使用者能夠在主鍵盤區完成所有工作。
vim是vi的增強版本,vim分為插入和命令兩種模式
插入模式下可以輸入字元
命令模式下可執行除了輸入字元之外的所有操作,包括儲存、搜尋、移動游標等。
1.編輯和儲存
啟動vim時自動處於命令模式
編輯一個檔案:
可以在命令列下輸入vim file(如果file不存在,那麼vim會自動新建一個名為file的檔案),啟動vim時自動處於命令模式,按i鍵可以進入插入模式(防坑:按鍵之前請確保當前輸入法是英文), 此命令用於在當前游標所在處插入字元。vim會在左下角提示使用者此時所處的模式。
示例:
vim test.py進入檔案內,此時為命令模式
輸入i後,進入插入模式:
輸入想要輸入的內容後,按Esc鍵回到命令模式,此時左下角的“-- 插入 --”提示消失,告訴使用者正處於命令模式下。
儲存檔案:
下一步,需要儲存這個檔案。需要使用 “:” 命令在底部開啟一個命令列,此時游標閃爍,等待使用者輸入命令
:q 簡單退出,如果有修改的話,vim會拒絕退出並在底部顯示提示資訊
:q! 強制退出
:w 儲存不退出
:wq 儲存並退出
:wq newfilename 儲存退出並另存為新檔名,如果newfilename已存在,可加 ! 強制覆蓋。
2.搜尋
/string 向前查詢(從游標開始的地方“朝向檔案尾”)
?string 向後查詢(從游標開始的地方“朝向檔案頭”)
這裡的“前”指的是“朝向檔案尾”,“後”指的是朝向檔案頭,跟常見理解的意義不太一樣,可以稍稍留意下,通常常用的也就是/string。那麼查詢到字串之後,想跳轉到下一個出現string的位置如何是好呢。
在首次回車查詢之後,按下“n”跳轉到下一個出現string的地方,按下“N”跳轉到上一個出現string的地方。示例:
3.替換
整體格式 :{作用範圍}s/{目標}/{替換成}/{替換標誌}
先看一個示例,稍後一一來解釋
示例::%s/prints/print/g
回車之後顯示如圖,所有prints已經被替換成了print
3.1 首先,作用範圍
1,4表示從第1行到第4行
n,$s表示從第n行到最後一行
1,$s表示從第一行到最後一行,也可用%s來表示
s的話就表示當前行
3.2 /{目標}/{替換成}
簡單來說就是想要把{目標}替換成{替換成},數入想要的內容即可
3.3 {替換標誌}
c 每次替換前詢問
e 不顯示錯誤資訊
g 替換一行中所有的匹配項(此選項通常需要使用)
i 不區分大小寫
4.常用配置
vim的配置檔案叫vimrc
linux下通常位置etc/vim目錄下,修改此配置檔案需要root許可權,如果沒有特殊需要的話,不要那麼做。使用者可以在自己的主目錄下新建一個名為“.vimrc”的檔案,然後把配置資訊寫在裡面。
windows電腦下如果安裝也會在目錄中有一個vimrc檔案。如果有一些個性化的配置,可以在此檔案更改
比如說自動縮排:set autoindent
5.常用命令表