はじめに
この記事はVisual Studio Code Advent Calendar 2018 9 日目の記事です
動機
もともと Vim を開発サーバとローカルでも使っていました
そろそろ違うエディターを使って見ようかなーという軽いノリで導入してみ見た感じです
使ってみるとちょっとしたことでマウスを使わないと行けなかったりするのが多少なりともストレスになっていたのでなんとかショートカットキーなどを駆使してなるべくマウスに手が行かないような設定をしたい!!
ということで早速ですが僕がしている設定を共有しようと思います
また現段階で開発では使っていない(メモやブログ記事書く際に使用)ので開発で使うようになったらまた変わりそうな気もします
プラグイン
なにはともあれ VSCodeVim を入れます
エクスプローラーとエディターの切り替え
これはデフォルトでショートカットが用意されているのでそれを使うだけですね
- エクスプローラーとエディター間のフォーカス切り替え
Ctrl + Shift + E
パネル間移動
VSCodeVim のショートカットが用意されているのでこれも使うだけですね
それぞれ隣のエディターグループにカーソルが移ります
Ctrl + w + l
→Ctrl + w + h
←Ctrl + w + k
↑Ctrl + w + j
↓
コマンドパレット上での移動
- キーバインド設定
コマンドパレットを開いたときにコマンドパレット上の項目の移動をvimキーバインドでやりたかったので設定しました
pecoとかも同様なので同じ操作感を実現したかった感じですね
{"key": "ctrl+j", "command": "workbench.action.quickOpenSelectNext", "when": "inQuickOpen"}, { "key": "ctrl+k", "command": "workbench.action.quickOpenSelectPrevious", "when": "inQuickOpen" },
サジェストリストでvimのキーバインドを適用
- キーバインド設定
補完リストが出てきたときも同じ感覚で移動したいですよね
ということで下記の設定で補完リスト上でもvimキーバインドで移動できるようにします
{"key": "ctrl+j", "command": "selectNextSuggestion", "when": "suggestWidgetMultipleSuggestions && suggestWidgetVisible && textInputFocus"} {"key": "ctrl+k", "command": "selectPrevSuggestion", "when": "suggestWidgetMultipleSuggestions && suggestWidgetVisible && textInputFocus"}
ターミナルとエディター間の移動
- キーバインド設定
これはVS Codeに限らずターミナルとエディター領域があるIDEに言えるのですがターミナルとエディター領域で移動したいことって結構あるのでここがマウス使わないと移動できないってなると相当なストレスになります
ということでこれも設定をします
{ "key": "ctrl+;", "command": "workbench.action.terminal.focus", "when": "editorTextFocus" }, { "key": "ctrl+;", "command": "workbench.action.focusFirstEditorGroup", "when": "terminalFocus" }
選択した行をアクティブなターミナルで実行
運用とかには使えるかもしれないなと思います
さすがに本番とかでやるのは気がひけますが。。。
手順書だったりある程度手順が確立されているものの場合、手順書とターミナルを開いて行選択→実行みたいな感じ
{ "key": "alt+shift+e", "command": "workbench.action.terminal.runSelectedText", "when": "editorTextFocus" }
まとめ
手をホームポジションから動かしたくないのでこれだけでも結構効果あるかなと思います
僕自身はストレスが大分減りました
良ければ設定入れてみてください