上圖引用自何處忘記了,很差意思。linux
normal模式下 快速查找git
fa → 到下一個爲a的字符處,你也能夠fs到下一個爲s的字符。
github
t, → 到逗號前的第一個字符。逗號能夠變成其它字符。
3fa → 在當前行查找第三個出現的a。
F 和 T → 和 f 和 t 同樣,只不過是相反方向。
區域選擇 a 或 i"]}) action能夠是任何的命令,如 d (刪除), y (拷貝), v (能夠視模式選擇)。 object 多是: w 一個單詞, W 一個以空格爲分隔的單詞, s 一個句字, p 一個段落。也能夠是一個特別的字符:"、 '、 )、 }、 ]。vim
di" 刪除""內的內容,前提光標在"" 中 yi( 光標在()之間,則複製()之間的內容 dtx 刪除字符直到碰見光標以後的第一個x字符 ytx 複製字符直到碰見光標以後的第一個x字符]) ci" (由 change operator 和 text-object i" 組成) 刪除"" 中內容並進入插入模式
假設你有一個字符串 (map (+) ("foo")).而光標鍵在第一個 o 的位置'code
vi" → 會選擇 foo. va" → 會選擇 "foo". vi) → 會選擇 "foo". va) → 會選擇("foo"). v2i) → 會選擇 map (+) ("foo") v2a) → 會選擇 (map (+) ("foo"))
v/y/d/c -> i/a -> { [ ( " 'orm
0y$ 複製整行 gg2x 刪開頭量字符
在全部被選擇的行後加上點東西:blog
<C-v> 選中相關的行 (可以使用 j 或 <C-d> 或是 /pattern 或是 % 等……) $ 到行最後 A, 輸入字符串,按 ESC。
標記ci
ma 將當前位置標記爲a,26個字母都可作標記,mb、mc等等; 'a 跳轉到a標記的位置; - 這是一組很好的文檔內標記方法,在文檔中跳躍編輯時頗有用;
其餘文檔
gU/gu 整行大寫/小寫 cw → 替換從光標所在位置後到一個單詞結尾的字符 g_ → 到本行最後一個不是blank字符的位置。 對於數字 ctrl+a 遞增增長 ctrl+x 遞減 <C-r> → redo % : 匹配括號移動,包括 (, {, [ * 和 #: 匹配光標當前所在的單詞,移動光標到下一個(或上一個)匹配單詞(*是下一個,#是上一個) { 上一段(以空白行分隔) - } 下一段(以空白行分隔) gd 跳到光標所在位置詞(word)的定義位置 g(o)d(efine)
命令模式下字符串
m,nd - 快速刪除第m到第n行 (delete) m,ny - 複製第m到第n行 (yank) m,nmt - 第m行到第n行剪切到第t行(move) m,ncot -第m行到第n行復制到第t行(copy to) << 左縮進 >>右縮進 ● :bn 和 :bp → 你能夠同時打開不少文件,使用這兩個命令來切換下一個或上一個文件。(陳皓注:我喜歡使用:n到下一個文件)
插入模式下
Ctrl-t增長縮進 Ctrl-d減少縮進。
visual mode
V + j/k 選中多行 -> y/d/x 賦值刪除 Vap 選中一個段落 Vaw 單詞 -> Va2w Vas 選中一個句子
宏操做
ma 將當前位置標記爲a,26個字母都可作標記,mb、mc等等; 'a 跳轉到a標記的位置; - 這是一組很好的文檔內標記方法,在文檔中跳躍編輯時頗有用; qa 將以後的全部鍵盤操做錄製下來,直到再次在命令模式按下q,並存儲在a中; @a 執行剛剛記錄在a裏面的鍵盤操做; @@ 執行上一次的macro操做;'
F1 關掉,防止跳出幫助 F2 set nu/nonu F3 set list/nolist F4 set wrap/nowrap F5 set paste/nopaste F6 syntax on/off 空格 /開啓查找 Y =y$ 複製到行尾 w!! 以sudo的權限保存 kj <Esc>,不用到角落去按esc了 t 新起一行,下面,不進入插入模式 T 新起一行,上面 ,a 全選 hjkl 上下左右,強迫使用,要解開的本身改 ctrl + jkhl 進行上下左右窗口跳轉,不須要ctrl+w+jkhl ,tn new tab ,tc tab close ,to tab only ,tm tab move ,te new tab edit ctrl+n 相對行號絕對行號變換,默認用相對行號 http://jeffkreeftmeijer.com/2012/relative-line-numbers-in-vim-for-super-fast-movement/ 5j/5k 在相對行號模式下,往上移動5行 往下移動5行,不喜歡註解line 142附近relativenumber配置 ,y 展現歷史剪貼板 ,yc 清空 yy/dd -> p -> ctrl+p能夠替換非最近一次剪貼內容 ,p 開啓文件搜索 ctrlp ,/ 去除匹配高亮