notebook

都内でWEB系エンジニアやってます。

VS Code でなるべくマウスを触らない設定

はじめに

この記事は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"
  }

選択した行をアクティブなターミナルで実行

まとめ

手をホームポジションから動かしたくないのでこれだけでも結構効果あるかなと思います

僕自身はストレスが大分減りました

良ければ設定入れてみてください