1. 查看幫助 vimtutorvim
2. 滾動post
Ctrl-F, B 全頁; Ctrl-D,U 半頁; Ctrl-E,Y 一行;字符串
3. :helpgrep 匹配查找幫助it
4. word navigationio
word vs WORD : word, 數字、字母、下橫線; WORD: 空白字符切割angular
word b(beginning of previous) [current] e(end of current) w(begining of next)可視化
WORD UPCASE: B, E, Wobject
5. line-in navigation select
0, $; ^, g_ (非空白字符)grep
6. Paragraph, section, sentence navigation (all go to the beginning)
{ : paragraph, } : the next paragraph
[[ : section, ]]: the next section
(: sentence, ): the next sentence
7. screen navigation
H, M, L
8. redraw screen with the current line
on top: z <Enter>
on middle: z.
on bottom: z-
9. go to unmatch
[(, [), [{, [} : go to previous unmatch
VIM基本知識
1.插入
o: 當前行後插入一個空行
O: 當前行錢插入一個空行
cw:替換光標到單詞結尾
dt<char>:刪除全部字符,直到遇到<char>
2. u: undo
C-r: redo
3. 命令
. : 重複上一條命令
N<command>: 重複N次命令
N.: 重複N次上條命令
<start postition><command><end postition>
這裏常見的command有:y(複製), d(刪除), v(選擇), gU(變大寫), gu(變小寫)等等
0y$: 從行頭複製到結尾
ye: 從光標處拷貝到本單詞結尾
y2/foo:拷貝兩個foo之間的字符串
4. 單詞移動
e: 下一個單詞結尾,w:下一個單詞開頭
E: 下一個單詞結尾,W:下一個單詞開頭, (以blank做爲分隔符)
5. 單詞匹配
*:下一個
#:上一個
6. 光標移動
0: 行頭, $:行尾
^:本行第一個非blank的字符, g_:本行最後一個非blank的字符
7.字符移動
Nf<char>: 下第N個字符char處
Nt<char>: Nf<char> - 1
NF<char>: 前第N個字符char處
NT<char>: NF<char>+ 1
8. 區域選擇
<action>a<object> 或者 <action>i<object>
action: 任何的命令, 如: y, d, v
<object>: w(單詞), W(以blank分割的單詞), s一個句子, p一個段落,也能夠是一個配對的字符: ', ", ), ], }
a: 包含邊界, i: 不包含邊界
9. 塊操做 <C-v>
典型操做 0 <C-v> <C-d> I-- ESC
10. 自動補全
在插入模式下, <C-p> 和 <C-n>
11 宏錄製 q
qaYp<C-a>q
qa:開始錄製宏,保存在寄存器a中
Yp: 複製一行
<C-a>: 加1
q: 中止錄製
此後, @a, @@ reply宏, 如100@@
11. 可視化選擇以後
J: 把全部行練成一行
<或>: 左右縮進
=: 自動縮進
12. 屏幕的增減
<C-w>+ 或 <C-w>-