なっく日報

技術やら生活やらのメモ

ここ3年ほど使ってみて得られたIdeaVimの知見

IntelliJ IDEAが優秀過ぎてほとんどカスタマイズしてないですがちょっとまとめる機会があったので残しておきます。

github.com

なお、それぞれの設定は ~/.ideavimrc に設定します。

:source ~/.ideavimrc で即時反映されます。

あのPluginが使える

どういう基準かは不明ですが3つだけ組み込まれています。
※ この記事を公開した次の日にeasymotionが増えていた GitHub - easymotion/vim-easymotion: Vim motions on speed!

github.com github.com github.com

set surround
set multiple-cursors
set commentary

私はVimでも普段使いしている surroundcommentary だけ有効にしています(multiple-cursors はあまりなじまなかったため有効にせず)

ideajoin を有効にしておく

J とかで行を連結する際により高機能に使えるので ideajoin は有効にしておきましょう。

set ideajoin

すると↓のような挙動になります。

"Hello" +                 ->       "Hello world"
" world!"

詳しい挙動はこちらのWikiにまとまっています。

https://github.com/JetBrains/ideavim/wiki/%60ideajoin%60-examples

ideaput はOFF、クリップボードは はONに

デフォルトで ideaput がONになってます。これはIndentをいい感じにしてくれるものらしいですが、 私個人的にはなじまなかったのでOFFにしました。

あと、コピーしたタイミングでOS(Mac)のクリップボードにコピーされてほしかったので set clipboard+=unnamed しています。

set clipboard-=ideaput
set clipboard+=unnamed

Actionを任意のキーにマッピングする

IntelliJ IDEAのActionを任意のキーにマッピングできます。

:actionlist で設定できるActionが確認できます。

私はあまり使ってないですが、↓の進む/戻るだけ有効にしてます。 IdeaVimで実装されている <C-o> <C-i> よりも動きがいい気がするのが理由です。

nnoremap <C-o> :<C-u>action Back<CR>
nnoremap <C-i> :<C-u>action Forward<CR>

まとめ

IntelliJ IDEAが優秀だし、IdeaVimもよくできている。

本日はこんなところで。