vim 100問

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,進行實操。

相關文章
相關標籤/搜索