VIM Cheat Sheet — vim 常用指令彙整

Evan
evan.fang
Published in
3 min readMar 28, 2020

指令模式

移動游標

  • 數字 + 方向鍵:朝方向移動指定行數
  • 數字 + enter:向下移動指定行數
  • ctrl + f:pagedown
  • ctrl + b:pageup
  • + 到非空白字元的下一列
  • - 到非空白字元的上一列
  • 0 到該行開頭
  • $ 到該行最後
  • H 到螢幕的最上方第一個字
  • M 到螢幕的中央第一個字
  • L 到螢幕的最下方第一個字
  • G 到檔案結尾
  • gg 到檔案最開頭
  • 10G 到第10行

搜尋

  • /word 游標之尋找word
  • ?word 游標之尋找word
  • n 執行前一個搜尋動作
  • N 反向執行前一個搜尋動作
  • 搜尋結果高亮顯示
  • :set hlsearch 開啟高亮
  • :set nohlsearch 關閉高亮

取代

  • s/foo/bar:當前行第一個foo換bar
  • 10,15s/foo/bar:10~15行第一個foo換bar
  • %s/foo/bar:整份文件,每一行第一個foo換bar

%代表全域的意思

  • %s/foo/bar/g:整份文件,每個foo都換bar
  • %s/foo/bar/gc:換之前,會再confirm一次
  • 範圍取代:先V進入visual mode,再使用 選取一個範圍,然後:s/foo/bar/g 將這個範圍的foo都換bar

其他技巧

  • :%s/^M//g 消除unix window檔案結尾差異

指令模式下的編輯

  • x 向後刪除一個字元
  • X 向前刪除一個字元
  • 10x 向後刪除10個字元
  • dd 刪除一整列
  • 10dd 向下刪除10列
  • d$ 從游標所在處開始,向後刪除到底
  • yy 複製該行,5yy 向下複製5行
  • p 貼上
  • P 在上一列貼上
  • J 將下一列接到當前列後面
  • . 點號,重複執行上一個指令
  • u 上一步
  • ctrl + r 下一步

選取模式

  • v 字元選擇
  • V 列選擇
  • ctrl + v 區塊選擇
  • y 複製
  • p 貼上
  • d 刪除

編輯模式

Insert mode

  • i 從游標位置插入
  • a 從游標的下一個位置插入
  • I 從該列第一個非空白字元插入
  • A 從該列最後一個非空白字元插入
  • o 從下一列插入
  • O 從上一列插入

Replace mode

  • r 取代游標所在字元(一次)
  • R 取代游標所在字元(連續)

儲存,離開

  • :w 儲存
  • :w! 強制儲存
  • :q 離開
  • :q! 不儲存離開
  • :wq 儲存然後離開
  • ZZ 離開,若檔案有變更就會儲存
  • 沒有冒號,指令模式下連續輸入兩個大寫Z
  • :w newfile 另存新檔,檔名為newfile
  • :5,10 w newfile 將5~10行另存新檔,檔名為newfile
  • :r file.txt 將file.txt的內容,直接插入到游標所在位置
  • :! command 暫時離開vim執行command

多視窗編輯

  • :sp 將同一個檔案分成兩個視窗編輯
  • :sp filename.txt 同時編輯filename.txt
  • ctrl + w 視窗切換
  • 先按 ctrl + w 再按 方向鍵上 到上個視窗
  • 先按 ctrl + w 再按 方向鍵下 到下個視窗
  • 先按 ctrl + w 再按 q 關閉視窗

其他設定

VIM色彩

啟用 vim syntax colors

  1. Edit或Add ~/.vimrc
  2. 寫入以下指令: syntax on
  3. 存檔離開

行號

顯示行號
:set nu

取消行號
:set nonu

若要變成預設模式須修改~/.vimrc
空白行加入set nu

自動縮排

啟用自動縮排
:set autoindent
停用自動縮排
:set noautoindent

--

--