Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5657

VSCodeのModalEditで簡易的なVimエミュレーション

$
0
0

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.enterNormalCTRL+jに直してとりあえず完了

使い勝手

こういうコンセプトなのでVimを完全に再現しているということは全然なくって、そもそも置換などを含むコマンド類は一切なし
コピペもpとPの区別がなかったり、文字のコピーと行のコピーの区別がなかったりとか、Vimのエミュレーションとしてはまだまだオススメ出来ない感じです
だけど、たぶん頑張ってsettings.jsonをいじれば(あるいは誰かがいじってくれれば)いい感じになるのではないでしょうか


Viewing all articles
Browse latest Browse all 5657

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>