VIM常用命令

我就吃最后一口發表於2024-05-17

可以透過 :help 命令檢視幫助文件

進入 vim

vim [檔名]

基本模式

  • 正常模式(Normal Mode):執行復制、貼上、剪下、查詢、替換等命令。按:輸入命令列
  • 插入模式(Insert Mode):可以輸入文字,在正常模式下,按i、a、o等都可以進入插入模式
  • 可視模式(Visual Mode):正常模式下按v可以進入可視模式, 在可視模式下,移動游標可以選擇文字 按V進入可視行模式, 總是整行整行的選中 ctrl+v進入可視塊模式
  • 命令模式(Command Mode):儲存檔案、退出 vim

基本命令

  • 進入插入模式:

    • i:在當前字元前插入
    • I:在當前行的開頭插入
    • a:在當前字元後插入
    • A:在當前行的末尾插入
    • o:在當前行下方新開一行並進入插入模式
    • O:在當前行上方新開一行並進入插入模式
  • 退出插入模式:

    • Esc
  • 儲存和退出:

    • :w:儲存檔案
    • :q:退出 vim
    • :wqZZ:儲存並退出
    • :q!:不儲存並強制退出
  • 移動游標:

    • h:左移一個字元
    • j:下移一行
    • k:上移一行
    • l:右移一個字元
    • w:移動到下一個單詞的開頭
    • e:移動到當前單詞或下一個單詞的末尾
    • b:移動到當前單詞或上一個單詞的開頭
    • 0(數字零):移動到當前行的開頭
    • ^:移動到當前行的第一個非空白字元
    • $:移動到當前行的末尾
    • G:移動到檔案的末尾
    • {行數}G:移動到指定行(例如 10G 移動到第10行)
  • 複製、貼上和剪下:

    • yy:複製當前行
    • p:貼上到游標後
    • P:貼上到游標前
    • dd:剪下當前行(也就是刪除當前行並進入正常模式)
    • v:進入可視模式,可以選擇文字塊
    • y:在可視模式下複製選擇的文字塊
    • d:在可視模式下剪下選擇的文字塊
  • 查詢和替換:

    • /pattern:向前查詢 pattern
    • ?pattern:向後查詢 pattern
    • n:查詢下一個匹配項
    • N:查詢上一個匹配項
    • :%s/old/new/g:在整個檔案中替換 oldnew
  • 撤銷和重做:

    • u:撤銷上一個操作
    • Ctrl + r:重做上一個被撤銷的操作
  • 其他常用命令:

    • .:重複上一個命令
    • :set number:set nu:顯示行號
    • :set nonumber:set nonu:隱藏行號
    • :w [新檔名]:將當前檔案另存為新檔案