移動光標
- 左移h、右移l、下移j、上移k
- 向下翻頁ctrl + f,向上翻頁ctrl + b
- 向下翻半頁ctrl + d,向上翻半頁ctrl + u
- 移動到行尾$,移動到行首0(數(shù)字),移動到行首第一個字符處^
- 移動光標到下一個句子 ),移動光標到上一個句子(
- 移動到段首{,移動到段尾}
- 移動到下一個詞w,移動到上一個詞b
- 移動到文檔開始gg,移動到文檔結束G
- 移動到匹配的{}.().[]處%
- 跳到第n行 ngg 或 nG 或 :n
- 移動光標到屏幕頂端H,移動到屏幕中間M,移動到底部L
- 讀取當前字符,并移動到本屏幕內(nèi)下一次出現(xiàn)的地方 *
- 讀取當前字符,并移動到本屏幕內(nèi)上一次出現(xiàn)的地方 #
查找替換
- 光標向后查找關鍵字 #或者g#
- 光標向前查找關鍵字 或者g
- 當前行查找字符 fx, Fx, tx, Tx
- 基本替換 :s/s1/s2 (將下一個s1替換為s2)
- 全部替換 :%s/s1/s2
- 只替換當前行 :s/s1/s2/g
- 替換某些行 :n1,n2 s/s1/s2/g
- 搜索模式為 /string,搜索下一處為n,搜索上一處為N
- 制定書簽 mx, 但是看不到書簽標記,而且只能用小寫字母
- 移動到某標簽處 `x,1旁邊的鍵
- 移動到上次編輯文件的位置 `.
.代表一個任意字符 *代表一個或多個字符的重復
正則表達式的內(nèi)容將會在后續(xù)文章中整理
編輯操作
- 光標后插入a, 行尾插入A
- 后插一行插入o,前插一行插入O
- 刪除字符插入s, 刪除正行插入S
- 光標前插入i,行首插入I
- 刪除一行dd,刪除后進入插入模式cc或者S
- 刪除一個單詞dw,刪除一個單詞進入插入模式cw
- 刪除一個字符x或者dl,刪除一個字符進入插入模式s或者cl
- 粘貼p,交換兩個字符xp,交換兩行ddp
- 復制y,復制一行yy
- 撤銷u,重做ctrl + r,重復.
- 智能提示 ctrl + n 或者 ctrl + p
- 刪除motion跨過的字符,刪除并進入插入模式 c{motion}
- 刪除到下一個字符跨過的字符,刪除并進入插入模式,不包括x字符 ctx
- 刪除當前字符到下一個字符處的所有字符,并進入插入模式,包括x字符,cfx
- 刪除motion跨過的字符,刪除但不進入插入模式 d{motion}
- 刪除motion跨過的字符,刪除但不進入插入模式,不包括x字符 dtx
- 刪除當前字符到下一個字符處的所有字符,包括x字符 dfx
- 如果只是復制的情況時,將12-17條中的c或d改為y
- 刪除到行尾可以使用D或C
- 拷貝當前行 yy或者Y
- 刪除當前字符 x
- 粘貼 p
- 可以使用多重剪切板,查看狀態(tài)使用:reg,使用剪切板使用”,例如復制到w寄存器,”wyy,或者使用可視模式v”wy
- 重復執(zhí)行上一個作用使用.
- 使用數(shù)字可以跨過n個區(qū)域,如y3x,會拷貝光標到第三個x之間的區(qū)域,3j向下移動3行
- 在編寫代碼的時候可以使用]p粘貼,這樣可以自動進行代碼縮進
- >> 縮進所有選擇的代碼
- << 反縮進所有選擇的代碼
- gd 移動到光標所處的函數(shù)或變量的定義處
- K 在man里搜索光標所在的詞
- 合并兩行 J
- 若不想保存文件,而重新打開 :e!
- 若想打開新文件 :e filename,然后使用ctrl + ^進行文件切換
窗口操作
- 分隔一個窗口:split或者:vsplit
- 創(chuàng)建一個窗口:new或者:vnew
- 在新窗口打開文件:sf {filename}
- 關閉當前窗口:close
- 僅保留當前窗口:only
- 到左邊窗口 ctrl + w, h
- 到右邊窗口 ctrl + w, l
- 到上邊窗口 ctrl + w, k
- 到下邊窗口 ctrl + w, j
- 到頂部窗口 ctrl + w, t
- 到底部窗口 ctrl + w, b
宏操作
- 開始記錄宏操作q[a-z],按q結束,保存操作到寄存器[a-z]中
- @[a-z]執(zhí)行寄存器[a-z]中的操作
- @@執(zhí)行最近一次記錄的宏操作
可視操作
- 進入塊可視模式 ctrl + v
- 進入字符可視模式 v
- 進入行可視模式 V
- 刪除選定的塊 d
- 刪除選定的塊然后進入插入模式 c
- 在選中的塊同是插入相同的字符 I<String>ESC
跳到聲明
- [[ 向前跳到頂格第一個{
- [] 向前跳到頂格第一個}
- ]] 向后跳到頂格的第一個{
- ]] 向后跳到頂格的第一個}
- [{ 跳到本代碼塊的開頭
- ]} 跳到本代碼塊的結尾
掛起操作
- 掛起Vim ctrl + z 或者 :suspend
- 查看任務 在shell中輸入 jobs
- 恢復任務 fg [job number](將后臺程序放到前臺)或者 bg [job number](將前臺程序放到后臺)
- 執(zhí)行shell命令 :!command
- 開啟shell命令 :shell,退出該shell exit
- 保存vim狀態(tài) :mksession name.vim
- 恢復vim狀態(tài) :source name.vim
- 啟動vim時恢復狀態(tài) vim -S name.vim