巨大的建築,總是由一木一石疊起來的,我們何妨做做這一木一石呢?我時常做些零碎事,就是爲此。
這是對的,但是我沒有說過這句話! —— 魯迅
有人說vim難上手,那是因爲一開始瞭解的東西太多了,要想把vim用起來,不是要了解它的所有功能,只需要先了解一下它最基本的功能,先用起來再說。
這裏介紹一下vim下的最最最基本的快捷鍵,這些在所有vim模式下都可以使用。
這裏說的vim模式,指的是一些其他的編輯器,IDE的一些vim插件,只要安裝了,就可以用。
現在大部分IDE都有自己相應的vim插件,包括,idea,eclipse,vs,emacs,等等,都有.
但是也發現一款沒有的,那就是Xcode,Xcode曾經也有過,後來更新後就不能用了,所以Xcode是我用過的,使用體驗最最最差的IDE,沒有之一.
ESC
Esc鍵是vim最最靈魂的一個按鍵,使用頻率相當高,
無論你現在處在什麼位置,什麼情況下,什麼模式下,或者按什麼鍵什麼鍵出錯的情況下,
只要按了這個鍵,便回到了熟悉的Normal模式。
使用vim要有一個習慣,就是一旦手停下來了,就要使vim處於normal模式下。
也就是說任務編輯,編輯完了,就要習慣性的按一下 Esc鍵。
進入插入模式
從normal模式進入插入模式,初學者一般只知道 i ,但這只是一種方式,而且實際使用率並不算非常高。
下面列舉一下常用的。
- i 進入插入模式,光標定位到當前字符之前。
- a 進入插入模式,光標定位到當前字符之後。
- I 進入插入模式,光標定位到當前行的最前面.
- A 進入插入模式,光標定位到當前行的最後面.
- o 進入插入模式,並在當前行後新建一行,光標定位到新建行的開頭.
- O 進入插入模式,並在當前行前新建一行,光標定位到新建行的開頭.
移動光標
最簡單的移動光標。
- j 向下移動。
- k 向上移動.
- h 向左移動。
- l 向右移動.
- w 向右移動一個word,一般是下一個單詞的開頭.
- e 移動到當前單詞的末尾.
- f+X 先按f鍵,再按任意一個鍵,是光標定位到當前行,目前光標後面的按的那個鍵上面,比如:fa ,當前行下一個a的位置.
- gg 跳轉到文檔開始
- G 跳轉到文檔結算
操作符+範圍
vim中有一些操作符,輸入這些操作符,就是告訴vim,我想要進行一個操作,你要注意了。
操作符
基本操作符如下:
- c 編輯,change,輸入c之後,告訴vim,我要修改東西了,具體修改什麼,要看後面接的範圍,比如cw,就是修改一個單詞。
- d 刪除,比如dw就是刪除一個單詞
- y 複製,比如yw就是複製一個單詞
範圍
跟上面的移動光標差不多,可能更廣一些
操作舉例
有兩個中間變量用的比較多,i是in的意思,就是不包含,a就是包含。
- ciw 刪除當前單詞,並進入到插入模式,等待數據,就是用你輸入的詞單體當前詞
- ci( 刪除小括號內的,並進入插入模式,等待數據。
- ci{ 刪除大括號內的 ,並進入插入模式
- ca[ 刪除中括號,以及中括號內的,並進入插入模式,等待數據。
- da{ 刪除大括號以及大括號內的,停留在normal模式。
- yw 複製當前字符後面的當前單詞。
- yy 複製當前行
- dd 刪除當前行。
- p 粘貼,將寄存器中的粘貼下來,簡單的說,就是把複製的或者刪除的粘貼下來
.
重複上一次操作,這個稍微有點複雜,就是上一次操作是什麼,這次還重複上一次操作.
怎樣判斷是否是一次操作,主要是看從修改開始,到結束脩改,回到normal模式,算一次修改。
進入命令模式
按:則進入命令模式,接下來會等待輸入一個命令
- :w 保存 write
- :q 退出 quit
- :wq 保存並退出
- :normal xxxx 執行normal命令 比如::normal A; 在所有行後面都增加一個分號(A是將光標定位到最後並插入狀態,;就是插入的值)