【背景】
Sublime Textでvim風・Emacs風カーソル移動
この記事を参考にSublimeでVim風のカーソル移動を設定していたのですが、VSCodeでもこの設定をしたい。カーソル移動しんどい、でもVim操作をするほどVimを使ってないという問題がありました。
Key設定なんて調べればわかるものですが、上記のような記事に助けられた身としては非常に手間が省ける。
というわけで
【目的】
VSCodeでVim風のカーソル移動を設定
【方法】
⌘+K,⌘+S
でKeyboard Shortcutsエディターを開き、keybindings.json
をクリック- 下記のコードを追加して保存し、キーバインドを上書きする。
[
{ "key": "ctrl+l","command": "cursorRight","when":"textInputFocus" },
{ "key": "ctrl+h","command": "cursorLeft","when": "textInputFocus" },
{ "key": "ctrl+k","command": "cursorUp","when": "textInputFocus" },
{ "key": "ctrl+j","command": "cursorDown","when": "textInputFocus" }
]
同様にEmacs風にもできます。
なお
- "key": 割り当てるキー
- ”command”: 実行するコマンドの名前
- "when": キーがアクティブになるときの条件
です。
【参考】
(Sublimeの設定とキーバインドを入れたので初期設定かわかりませんが)
初期でctrl+j
,ctrl+k
,ctrl+h
には他のショートカットが割り当てられていました。
使いたいものがあれば他の割り当てを推奨します。
また念の為、以前割り当てられていたショートカットを外す記述もしました。
{ "key": "ctrl+j","command": "-editor.action.joinLines","when": "textInputFocus" },
{ "key": "ctrl+k","command": "-deleteAllRight","when":"textInputFocus" },
{ "key": "ctrl+h","command": "-deleteLeft","when": "textInputFocus" },
//ctrl+kに割り当てられてたdeleteALLRight(カーソルの右側を全消し)を使いたかったのでctrl+deleteに割り当てました
{ "key": "ctrl+delete","command": "-deleteRight","when": "textInputFocus" },
{ "key": "ctrl+delete","command": "deleteAllRight","when": "textInputFocus" }
【結論】
Sublimeのときと同じ要領でキーの割当が可能であるが上書きすることになるので、必要なショートカット華道家の確認が必要。
ショートカットキーは⌘+K,⌘+S
ででてくるKeyboard Shortcutsエディターで探せます。