bash~$:vimtutor
*
[ Insert 模式 ]
Ctrl-T:右縮排
Ctrl-D:左縮排
Ctrl-N:向下查找類似內容進行自動補全
Ctrl-P:向上查找類似內容進行自動補全
Ctrl-X:Omni 自動補全
(按下 Ctrl-X 會進入 Omni 補全模式,底下會出現 ^X mode 字樣)
(在 ^X mode 字樣後,會顯示可以執行的補全命令)
(即按完 Ctrl-X 後,接着壓對應的 Ctrl-? 執行)
(在補全字候選單中,壓 Ctrl-P 或 Ctrl-N 可以上下移動選項)
~ Ctrl-O:根據檔案類型,查找字典檔進行補全
~ Ctrl-F:當前目錄下的文件名稱補全
~ Ctrl-N:根據當前文件內關鍵字補全
~ Ctrl-]:根據標籤補全
*
>> 右縮排
<< 左縮排
*
gd:到局部變量的定義
gD:到全局變量的定義
[[:到當前塊起始的 { 處
]]:到當前塊結束的 } 處
*
x:向後刪除字元
15x:向後刪除 15 個字元
X:向前刪除字元
15X:向前刪除 15 個字元
u:復原上一個修改
U:復原對當前整列(row)的修改
Ctrl-R:取消復原
. :重複上一個動作
*
dw:刪除遊標所在位置後面的 1 個單字
3dw:刪除遊標所在位置後面的 3 個單字
d$:刪除遊標所在位置後面的整列內容
dd:刪除遊標所在的整列內容
3dd:刪除遊標所在後面 3 列內容(包括遊標所在列)
*
0:跳到遊標所在列的開頭
$:跳到遊標所在列的結尾
3 + Space:遊標向右移動 3 個字元
3 + Enter:遊標向下移動 3 列
*
w:從遊標所在往前 1 個單字(到該單字開始處)
2w:從遊標所在往前 2 個單字
e:從遊標所在往前 1 個單字(到該單字結尾處)
2e:從遊標所在往前 2 個單字
*
p:推出(put)上一次刪出的內容(字元,單字,列,etc.)
*
r:取代遊標所在字元,按一次 r,再輸入新的字元
R:Replace 模式,取代遊標所在的字元,直到按 ESC 跳回 View 模式
*
ce:刪除遊標後面的 1 個單字,並進入 Insert 模式
2ce:刪除遊標後面的 2 個單字,並進入 Insert 模式
c$:刪掉遊標後面的整列內容,並進入 Insert 模式
2c$:刪掉遊標後面的 2 列內容,並進入 Insert 模式
*
Ctrl-G:顯示目前所在檔案的位置
gg:跳至檔案最前端
G:跳至檔案最末端
3G:跳至檔案第 3 列
:3
# 跳至檔案第 3 列
Ctrl-O:跳躍至上一個遊標跳躍的位置
Ctrl-I:跳躍至下一個遊標跳躍的位置
*
/:搜尋模式,在最下方輸入要搜尋的字,壓 Enter
n:到下一個搜尋點
N:到上一個搜尋點
:set ic
# ignore case when searching
:set hls
# highlight search
:set is
# incremental search
:set no設定
# 關閉該項設定
*
%:當遊標在 ( [ { 等符號下時,找尋對應的 } ] )
*
:s/old/new
# 將遊標所在列的 old 取代成 new
:3,30s/old/new/g
# 將第 3 列到第 30 列間的 old 取代成 new
:%s/old/new/g
# 將整個檔案的 old 取代成 new
:1,$s/old/new/gc
# 從檔案第 1 列到最後一列搜尋 old 取代爲 new
# 並在每個取代執行前請使用者進確認
*
:w TEST
# 將目前編輯的檔案儲存成 TEST
:3,10 w TEST
# 將第 3 列到第 10 列的內容儲存成 TEST
:! ls
# 執行 shell 的 ls 指令
:! rm TEST
# 執行 shell 的 rm 指令,移除 TEST
*
Ctrl-V
# Visual 的區塊選擇模式,可以用長方形的方式選擇資料
# 在 Visual 模式選取部分內容之後,直接按 :
# 畫面底下會出現 :'<,>'
# 輸入 w TEST
# 畫面底下變成 :'<,>'w TEST
# 會將剛剛在 Visual 模式選取的內容另存成 TEST
*
:r TEST
# 讀入外部 TEST 檔案的內容
:r ! ls
# 讀入 ls 指令執行的內容
*
v
# 進入 Visual 模式,選取部分內容
y
# 將選取的內容複製(yank)
p
# 將複製的內容貼上(paste)
yy
# 複製遊標所在的整列
9yy
# 複製遊標所在向下 9 列
J
# 將游標所在列與下一列的資料結合成同一列
*
:split
# 水平分割編輯視窗,並在新分割視窗中開啓同一檔案
:split 檔案路徑
# 水平分割編輯視窗,並在新分割視窗中開啓指定檔案
:vsplit
# 垂直分割編輯視窗
Ctrl-W + j/k
# 按一次 Ctrl-W,再按一次 j/k,可以切換下/上編輯視窗
:q
# 離開當前編輯視窗
*
:vsp ./
# 顯示當前資料夾下的檔案列表
*
:tab
# Vim 的標籤分頁
*
# 輸入 :
# 然後按下 Ctrl-D
# 會顯示所有可以在 : 下輸入的 Vim 指令
# 輸入 :e
# 然後按下 Ctrl-D
# 會顯示所有可以在 : 下輸入的 e 開頭的 Vim 指令
# 使用 Tab 鍵可以進行指令補全(Command Line Completion)
*
:set foldmethod=syntax
# 依據程式語法開啓摺疊模式
zc
# 當遊標停在 { } 間時,摺疊該段程式碼
zo
# 當遊標停在摺疊時,打開該段程式碼
*
:help
# 在目前編輯的文件中開啓切割視窗,呈現說明文件
:help 命令
# 查詢該命令的說明文件
*
~/.vimnifo
# 個人 Vim 操作記錄檔
~/.vimrc
# 個人的 Vim 環境設定檔
cp $VIMRUNTIME/vimrc_example.vim ~/.vimrc
# 可以直接複製 Vim 附帶的 vimrc example
:syntax on
:set bg=dark
:set showmode
:set nobackup
:set autoindent
:set number
:set hlsearch
...