ModalEditとは
VSCodeにVimエミュレーションプラグインを入れようと思って探したけど、一番定番であると思われるvscodevimはイマイチ評判が良くない様子、重いという評もある
まあどうせ完璧な再現なんて無理だし、微妙に違うとイライラするので、もっと軽くて簡易的なやつがいいなぁ
いろいろ見てみるとModalEditというのが私に合ってそう
コンセプトとしては
ノーマルモードとインサートモードといくつかの内部コマンドだけ作ったから、あとは各自勝手にキーバインドしてくれ
ってことらしい
自分に合わない部分は全部カスタムしてしまえばいいわけだし、軽そう
インサートモードになってる限りは普通にVSCodeをノーマルで使うのと一緒であるというのも調子良さそう
プリセットがない!
さてマーケットプレイスからポチポチっとインストールして動かしてみる
jkjkっと……
ModalEdit: Undefined key binding: j
ModalEdit: Undefined key binding: k
ModalEdit: Undefined key binding: j
ModalEdit: Undefined key binding: k
工エエェェ(´д`)ェェエエ工
デフォルトでは何もbindingされてないの!?
たしかにコンセプトはそうかもしれないけど、さすがにプリセットあるでしょ!?
チュートリアルを見てゼロから自分で作り上げろってこと!?
issueでも、プリセットあったほうがいいんじゃない?と突っ込まれているが、どうもポリシーをもってプリセットは無いみたい
ん?でも本人の設定がここにあるって?
おお、それでいい、それでいい
VSCodeの左下の設定アイコンからsettingsを開いて右上のアイコンをクリックするとsettings.json
が開かれるので適宜JSONが崩れないようにコピペすれば完了
jkjkっと……
工エエェェ(´д`)ェェエエ工
移動がjkhlじゃない笑
探したらVimの標準的なプリセットはこっちに作ってくれてました
先月作ってくれたみたいですね、できたてほやほや
というわけでsettings.json
に貼り付けて、ようやく動きました
その中のコメントにもある通りCTRL+なんとか
系のコマンドはsettings.jsonには書けないらしいのでkeybindings.jsonに書くみたい
こちらはわざわざJSONで書くよりもGUIを使ったほうが楽かも
左下の設定アイコンからKeyboard Shortcutを開いて検索窓にmodaledit
と入れれば独自の内部コマンドが全部出てきます
私の場合はmodaledit.enterNormal
をCTRL+j
に直してとりあえず完了
使い勝手
こういうコンセプトなのでVimを完全に再現しているということは全然なくって、そもそも置換などを含むコマンド類は一切なし
コピペもpとPの区別がなかったり、文字のコピーと行のコピーの区別がなかったりとか、Vimのエミュレーションとしてはまだまだオススメ出来ない感じです
だけど、たぶん頑張ってsettings.json
をいじれば(あるいは誰かがいじってくれれば)いい感じになるのではないでしょうか