親愛的猴子們,你們對 Vim 不陌生吧。
Vim 用起來看起來很爽,平時咱們沒少背 Vim 的快捷鍵,不過,你們是知道的,背的學的使用太少,很快就從入門到放棄了。
咱們仍是隻有一臉崇拜的看着 Devops 老哥在 Vim 裏面熟練的敲敲打打。 不過,我最近找到一種學習的方法,不用太多功夫就能把 Vim 玩的 666。 下面,我會將本身學習的辦法和實用小技巧分享給你們,Vim 從入門到上手不求人。vim
在咱們平常工做中,會使用 Idea 來寫代碼; 咱們若是能在咱們熟悉的 Idea 裏面用 Vim 來寫代碼,想必上手確定是很是快速的,這也是上一篇文章程序猿划水指南中提到過的刻意練習---咱們經過在 Idea 安裝 Vim 插件來讓本身從溫馨區進入了學習區。
接下來,咱們從最簡單的安裝插件開始,給你們分享 Vim 的使用方式和個人心得體會。編輯器
Preferences->Plugins->Marketplace->在搜索框輸入 Vim
ide
~/.ideavimrc
裏面修改 vim 的配置。
IdeaVim
和
IdeaVimExtension
在重啓之後會報錯。
Idea
,而後先安裝
IdeaVim
而後再安裝
IdeaVimExtension
如今,相信插件已經安好了,在 Idea 重啓的時間裏,咱們從最簡單的模式提及吧。
衆所周知,Vim 擁有 3 個 Model(模式)分別是:學習
Normal Model
用於在窗口編輯和移動,也能夠進行快捷編輯View Model
用於選擇大塊內容的操做(複製、剪切、刪除、替換)Insert Model
用於插入內容咱們在使用 Vim 編碼時,選擇合適的模式,會達到事半功倍的效果。 下面,咱們來看看進入 Vim 之後,咱們怎麼移動光標的。編碼
0
行頭 $
行尾,不少操做後面加 0
和 $
也是同樣的到行頭和行尾j
k
上下 h
l
左右 與箭頭同樣能夠達到目的。熟練之後,咱們就能在高大上的 66 鍵的HHKB上左右騰挪,上下翻飛了。w
b
移動下一個或上一個單詞頭上(
)
方法(空行)開頭和方法結尾 {
}
方法(空行)間上下移動在 Normal Model
下咱們會有不少便捷的剪切&刪除操做,並不須要到Insert Model
中。而且,Vim 中的剪切和刪除是一個用法,只是看你把剪切進去的內容是否粘貼出來。
充分利用 Vim 中各類快捷操做咱們能夠達到快速編輯內容的目的。idea
x
: 剪切光標選擇的內容,Normal Model 剪切一個字母,View Model 剪切全部選中內容dw
:剪切一個詞Normal Model
下,按r
而後再按字母,就能用輸入的字母替換選中的字母。p
粘貼剛剛剪切掉的內容,若是在 View Model 下選擇了部份內容,那其實是替換了選中內容。但是咱們要替換多個地方怎麼辦呢,不用着急。有 2 種辦法,咱們來一個個試試看吧。spa
y
進行復制。再使用 View Model 選中須要替換部分的時候經過使用 "0p
進行替換。其中的 0
是數字零,這是內容在 Vim 寄存器中的編號,它和棧結構同樣,先進後出。咱們經過改變0
便可以粘貼不一樣的Tip::reg
能夠查看相關的全部寄存器內容.net
Normal Model
下按:
進入命令模式,而後在出現的命令行中輸入下列的命令進行替換:s/from/to - 用from替換當前行第一個to。
:s/from/to/g - 用from替換當前行全部的to。
:a,bs/from/to/g - 用from替換文件a行到b行全部的to。
複製代碼
因爲 Idea 的 Vim 插件對於替換支持的並很差,因此,建議直接在選中的內容上使用 Ctrl+C
Ctrl+V
來操做。插件
i
: 在光標前插入; I
: 在當前行第一個非空字符前插入; gI
: 在當前行第一列插入;a
: 在光標後插入; A
: 在當前行最後插入;o
: 在下面新建一行插入; O
: 在上面新建一行插入;D
:剪切從光標到行尾;dd
剪切光標所在一行yy
複製光標當前一行dj
/d↑
剪切光標所在和上一行,dk
/d↓
剪切光標所在和下一行。J
能夠把下面一行縮進到當前光標一行~
能夠改變光標選中部份內容的大小寫u
是撤銷剛剛的操做,Ctrl+r
是重作剛剛撤銷的操做。r+<Enter>
將光標後面內容移動到下面新增的一行ci(
,剪切()之間的內容 di(
複製()之間的內容 yi(
zz
將當前行移動到屏幕中央。nnoremap <space>i<space><esc>
nnoremap <enter>i<end><enter><esc>
複製代碼
上面是個人 map 配置,這樣是爲了在Normal Model
中能夠用空格鍵和回車鍵來操做內容空格和換行命令行
只須要幾天,也只須要幾個業務,你會忽然發現,原來 Vim 用起來也並無那麼難。
另外一方面,對 Vim 熟練 之後,不論是 Idea 仍是 VScode,不論是 Mac 仍是 Linux;對於你來講都是它們都是一個 IDE ,無縫切換,渾然天成。
還有,建議你們收藏本網頁,用來操做查詢。 你們發現了其餘更好用的操做套路,必定要與我分享,獨樂樂不如衆樂樂嘛。 最後,把個人快捷鍵記事本分享給你們。