1. 如何使用vim打開一個文件後,位於100行的行首vim
]# vim +100 FILENAME編輯器
2. 如何使vim打開一個文件後,位於第一個if處ide
]# vim +/if FILENAME測試
3. vim有哪幾種模式,分別有什麼做用orm
答:有編輯模式、插入模式、末行模式、可視模式文檔
編輯模式即正常模式,也是vim打開文件的默認模式,在這個模式下能夠執行跳轉、複製、刪除、替換等操做。it
插入模式下能夠輸入字符。像文檔編輯器同樣寫文檔io
末行模式能夠執行命令,好比高亮顯示、執行外部命令等ast
可視模式下,能夠按需選取行或字符,而後進行其餘操做。class
4. 模式音的切換
A. 正常模式 --> 插入模式:能夠使用i、I、a、A、o、O轉換到插入模式。
i: 在當前光標所在處插入字符。
I: 在當前光標所在行的行首插入字符
a: 在當前光標所在處後方插入字符。
A: 在當前光標所在行的行尾輸入
o: 在當前光標所在行的下方打開一個新行
O: 在當前光標所在行的上方打開一個新行。
B. 輸入模式-->編輯模式, 按ESC鍵
C. 編輯模式-->末行模式, 輸入:
D. 末行模式到編輯模式, 按ESC鍵盤
5. 如何保存並退出vim
A. 在正常模式下,輸入大寫的ZZ
B. 在末行模式下,輸入:wq
C. 在末行模式下,輸入:x
6. 如何將vim編輯的文件進行另存
:w /PATH/TO/SOMEFILE
7. 如何不保存退出
A. 若是文件沒有被修改,則:q不保存退出
B.: 若是修改了文件而不想保存,只退出,使用:q!強制退出不保存。
8. 如何使光標在字符間跳轉
A. 右手的hjkl,在正常模式下分別表示左、下、上、右。
B. 使用#COMMAND,表示能夠向某個方向移動#次,好比2l表示向右移動2個字符。
9. 如何實現單詞間的跳轉
A. w,表示移動到下一個單詞的首部
B. e, 表示移動到當前或者後一個單詞的尾部
C. b,表示移動到當前或前一個單詞的首部
D. #COMMAND,表示移動#個單詞。
須要注意的是:在正常模式下按e,若是處於非單詞尾部則移動到本單詞詞尾,若是自己是詞尾則移動到下一個單詞的詞尾; b亦然。
E. 單詞跳轉前還能夠在前面增長動做。好比d2w表示刪除光標當前位置到下2個單詞的詞首。
10. 如何實現行首行尾的跳轉
A. ^, 表示跳轉到本行的第一個非空白字符
B. 0,表示跳轉到本行的絕對行首
C. $,表示跳轉到本行的行尾。
11. 行間跳轉
A. G表示跳轉到文件的最後一行
B. 1G或gg表示跳轉到文件首行
C. #G表示跳轉到第#行
D. #j表示向下跳轉#行
E. #k表示向上跳轉#行
12. 句間跳轉和段間跳轉
A. ),跳到下一句
B. (,跳到上一句
C. },跳到下一段
D. {,跳到上一段
13. 翻屏操做
A. Ctrl+f,向文件尾部翻一屏
B. Ctrl+b,向文件首部翻一屏
C. Ctrl+u,向文件首部翻半屏
D. Ctrl+d,向文件尾部翻半屏
E. Enter鍵,按行向後翻
14. 字符編輯(Nornal)
x,在正常模式下,表示刪除光標所在處字符。
#x,表示從光標所在處開始,刪除#個字符。
xp,交換光標所在處字符與其後面字符的位置。
15. 替換命令(Normal)
r: 替換光標所在處的字符。使用方法rCHAR,在當前光標位置輸入r,再輸入你想要替換成的字符能夠將當前光標所在處字符替換成CHAR.
R: 進入替換模式,在正常模式下輸入R後,會進入替換模式,替換光標所在處的字符,然後光標右移,能夠一直替換。
16. 刪除命令
d: d表示delete,能夠結合光標跳轉命令,實現範圍的刪除
d$: 刪除當前光標所在處一直到行尾的字符
d^: 刪除當前光標所在處(不含)一直到行首的字符
de: 刪除當前光標所在處一直到本單詞或者下一個單詞的詞尾
dw: 刪除當前光標所在處一直到下個單詞的詞首(不含詞首)
db: 刪除當前光標所在處(不含當前光標)一直到本單詞或上一個單詞的詞首
#d[b|e|w]: 表示刪除命令能夠搭配跳轉及數字一塊兒使用,達到刪除多個單詞的效果
dd: 刪除整行
#dd: 刪除多行
17. 粘貼命令(p,put,paste)
A. p: 若是剪貼板內容不是整行,則在當前光標的後面插入剪貼板內容; 若是是整行,則在當前光標所在行的下一行粘貼。
B. P: 若是剪貼板內容不是整行,則在當前光標的前面插入剪貼板內容;若是是整行,則在當前光標所在行的上一行粘貼。
18. 複製命令(y,yank)
y,複製,工做行爲與d相似
y$: 複製當前光標所在位置一直到行尾的內容
y^: 複製當前光標所在位置(不含)一直到行首的非空白字符
y0: 複製當前光標所在位置(不含)一直到絕對行首
ye: 複製當前光標所在位置一直到詞尾
yw: 複製當前光村所在位置一直到下一個詞的詞首(不含詞首)
yb: 複製當前光標所在位置(不含)一直到本單詞或者上一個單詞的詞首
#y[e|w|b]: y能夠結合數字以及Motion來操做,表示一次能夠複製多個單詞
yy: 整行復制
#yy: 多行復制,從當前行算起,一塊兒往下複製#行。
19. 改寫命令(change,c):
編輯模式跳轉到輸入模式,實現刪除操做。
c$: 刪除當前光標所在處一直到行尾的字符,並進入Insert模式
c^: 刪除當前光標(不含 )所在處一直到行首,並進入Insert模式
c0: 刪除當前光標(不含 )所在處一直到絕對行首,並進入Insert模式
cb: 刪除當前光標所在處(不含)一直到本單詞或上一個單詞的詞首,並進入Insert模式
ce: 刪除當前光標所在處一直到本單詞或者下一個單詞的詞尾,並進入Insert模式
cw: 刪除當前光標所在處一直到下個單詞的詞首(不含詞首),並進入Insert模式
#COMMAND: 能夠跟數字聯動,表示能夠改寫多個單詞或行
cc:刪除光標所在的行,並轉換爲Insert模式;
#cc:
20. 撤消操做
A. u,undo,撤消前一次操做
B. U,撤消針對本行的全部操做
C. Ctrl+r,撤消此前的撤消操做,也就是redo,經測試不能redo大寫U的撤消。
更多訓練,請訪問vimtutor,進行實操。