參考書籍《linux 從入門到精通》第二版(劉憶智 等編著)
背景:vim的設計哲學就是讓使用者能夠在主鍵盤區完成所有工作。
vim是vi的增強版本,vim分為插入和命令兩種模式
插入模式下可以輸入字元
命令模式下可執行除了輸入字元之外的所有操作,包括儲存、搜尋、移動游標等。
啟動vim時自動處於命令模式
可以在命令列下輸入vim file(如果file不存在,那麼vim會自動新建乙個名為file的檔案),啟動vim時自動處於命令模式,按i鍵可以進入插入模式(防坑:按鍵之前請確保當前輸入法是英文), 此命令用於在當前游標所在處插入字元。vim會在左下角提示使用者此時所處的模式。
示例:vim test.py進入檔案內,此時為命令模式
輸入i後,進入插入模式:
輸入想要輸入的內容後,按esc鍵回到命令模式,此時左下角的「-- 插入 --」提示消失,告訴使用者正處於命令模式下。
儲存檔案:
下一步,需要儲存這個檔案。需要使用 「:」 命令在底部開啟乙個命令列,此時游標閃爍,等待使用者輸入命令
:q 簡單退出,如果有修改的話,vim會拒絕退出並在底部顯示提示資訊
:q! 強制退出
:w 儲存不退出
:wq 儲存並退出
:wq newfilename 儲存退出並另存為新檔名,如果newfilename已存在,可加 ! 強制覆蓋。
/string 向前查詢(從游標開始的地方「朝向檔案尾」)
?string 向後查詢(從游標開始的地方「朝向檔案頭」)
這裡的「前」指的是「朝向檔案尾」,「後」指的是朝向檔案頭,跟常見理解的意義不太一樣,可以稍稍留意下,通常常用的也就是/string。那麼查詢到字串之後,想跳轉到下乙個出現string的位置如何是好呢。
整體格式 :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 不區分大小寫
vim的配置檔案叫vimrc
linux下通常位置etc/vim目錄下,修改此配置檔案需要root許可權,如果沒有特殊需要的話,不要那麼做。使用者可以在自己的主目錄下新建乙個名為「.vimrc」的檔案,然後把配置資訊寫在裡面。
windows電腦下如果安裝也會在目錄中有乙個vimrc檔案。如果有一些個性化的配置,可以在此檔案更改
比如說自動縮排:set autoindent
VIM 學習小結 1
vim 學習小結 1 移動 1.游標的移動 h 左移 j 下移 k 上移 l 右移 2.移動游標到行頭 數字03.跳轉到最後一行 g 行號加g 跳轉到指定行 4.跳轉到第一行 gg5.返回上次的位置 ctr o ctr i 到較新的位置 6.到配對的 處 刪除 1.刪除游標所在位置的字元 x2.刪除...
VIM 命令小結
兩種模式 normal mode 普通模式 insert mode 插入模式 插入模式按 escape進入普通模式,普通模式按i進入插入模式。定位 h 左移.j 下移.k 上移.l 右移 pagedown or ctl f 前滾 pageup or ctl b 後滾 g 最後一行 num gg 到第...
Vim使用小結
set fileformat 設定檔案格式 set endofline 設定檔案結束符 set noendofline 取消檔案結束符 set list 進入list mode set nolist 退出list mode s n g 刪除換行符 set textwidth 設定行寬 set tex...