Vimでよく使われるプラグイン5つ
Vimでよく見るプラグイン5つをまとめて紹介です。 VSCodeのVimプラグインでもこれらが利用できるようになっていましたので、人気も高いです。
具体的には以下の5つで、どれも便利です。 neoBundleなどプラグイン管理を利用できるように設定したら、最初に入れておくと便利です。もちろん無くても十分便利です。
- CamelCaseMotion
- vim-easymotion
- ReplaceWithRegister
- vim-sneak
- vim-surround
基本的な使い方をメモしています。VimはもちろんVSCodeでVimプラグイン使うときの参考としても参考にしていく想定です。
CamelCaseMotion
CamelCaseで移動できるようになります。
let g:camelcasemotion_key = '<leader>'
<Leader>w
<Leader>b
とかで移動することが出来ます。
vim-easymotion
画面内の任意の場所に素早く移動できます。検索を行った結果、一致する場所に表示されるキーを入力することで、その場所に素早く移動できます。
<Leader><Leader>s
1文字で検索して移動<Leader><Leader>w
下の単語へ移動<Leader><Leader>b
上の単語へ移動<Leader><Leader>e
下の単語末へ移動<Leader><Leader>ge
上の単語末へ移動<Leader><Leader>f{char}
下の入力文字へ移動<Leader><Leader>F{char}
上の入力文字へ移動
nmap <Leader>s <Plug>(easymotion-s2)
map <Leader>j <Plug>(easymotion-j)
map <Leader>k <Plug>(easymotion-k)
nmap g/ <Plug>(easymotion-sn)
<Leader>s
2文字で検索して移動<Leader>j
任意の行に移動 下<Leader>k
任意の行に移動 上g/
任意の文字数で検索して移動
ReplaceWithRegister
レジスタを利用した置換が簡単になります。
griw
"_diw
+p
と同じような操作になります。 ブラックホールレジスタを使って削除した後に、レジスタの中身を貼り付けます。
通常、diw
とすると削除したものが無名レジスタに上書きされてしまうので、もともとヤンクしていた内容が消えてしまいます。
削除するときに"_diw
とすれば、ブラックホールレジスタみたいなものに上書きされるので、ヤンクしてたものは消えません。
ちょっとめんどくさいなと思ったときにこのプラグインの出番です。
vim-sneak
画面内を素早く移動出来ます。fやF・tなどの検索を、行をまたいで動けるようにするイメージです。
s{char}{char}
2文字まで入力すると一致する場所がハイライトされます。その後セミコロン;で次へ、カンマ,で前へ移動できます。
vim-surround
“とかで囲まれているところを指定できるオペレータです。
ds"
""で囲まれている部分を削除cs"'
""で囲まれてる部分の""を”に置換ysiw]
wordのまわりに[]を付けるysiw[
wordのまわりに[ ]を付ける スペースがつく
おわりに
<Leader>
で動作したりgで動作したりプラグインによって異なるので自分の使いやすいようにカスタマイズしたいところではあります。しかし、やりすぎても混乱してしまいますし、他の環境で動かしたときにわからなくなります。
私個人はなるべくデフォルトの設定で使いたいと考えています。
先にも述べていますがVSCodeのVimプラグインでも使えるものを集めました。VSCode上ではコマンドが少し違ったりしていますが、基本は同じように使えます。
今まで使っていなかった人も一度試しに使ってみましょう。是非!