セミコロン 末尾に打つの 面倒くさい (五七五)
C++
やJava
を書くとき, セミコロンいれるの面倒くさいですよね.今回はVSCodeの拡張機能のVimで簡単に末尾にセミコロンをいれるショートカットをキーバインディングを使って設定してみました.
以下はMacでの設定です.その他のOSは適宜キーなどを読み替えてください.
手順
どのキーを割り当てるか決める
-
Shift
+Enter
-
Ctrl
+Enter
-
Ctrl
+;
など.
setting.jsonに記述
keybindings.json
を開き,設定を追加します.
開き方
- 左下の設定マークをクリックする
- キーボードショートカット(Keyboard Shortcuts)をクリックする.
- 右上の紙がクルッと回っているようなアイコンをクリックする.
Shift
+ Enter
の場合
keybindings.json
// (上に続く)
{
"key": "shift+enter",
"command": "vim.remap",
"when": "inputFocus && vim.mode == 'Normal'",
"args": {
"after": ["A", ";", "<Esc>"]
}
},
{
"key": "shift+enter",
"command": "vim.remap",
"when": "inputFocus && vim.mode == 'Insert'",
"args": {
"after": ["<Esc>", "A", ";", "<Esc>"]
}
},
// (下に続く)
Ctrl
+ Enter
の場合
keybindings.json
// (上に続く)
{
"key": "ctrl+enter",
"command": "vim.remap",
"when": "inputFocus && vim.mode == 'Normal'",
"args": {
"after": ["A", ";", "<Esc>"]
}
},
{
"key": "ctrl+enter",
"command": "vim.remap",
"when": "inputFocus && vim.mode == 'Insert'",
"args": {
"after": ["<Esc>", "A", ";", "<Esc>"]
}
},
// (下に続く)
Ctrl
+ ;
の場合
keybindings.json
// (上に続く)
{
"key": "ctrl+;",
"command": "vim.remap",
"when": "inputFocus && vim.mode == 'Normal'",
"args": {
"after": ["A", ";", "<Esc>"]
}
},
{
"key": "ctrl+;",
"command": "vim.remap",
"when": "inputFocus && vim.mode == 'Insert'",
"args": {
"after": ["<Esc>", "A", ";", "<Esc>"]
}
},
// (下に続く)
その他のカスタマイズ
セミコロン挿入後に改行を加えてノーマルモードに移動したい場合
"args"
内"after"
のリストに"<Enter>"
を追加.
セミコロン挿入後に改行+インサートモードに移動したい場合
"args"
内"after"
のリストに"o"
を追加.
colonizeとの競合を防ぐ
以下を追加してください(Shift
+Enter
をcolonizeのキーとして設定している場合).
keybindings.json
{
"key": "shift+enter",
"when": "!vim.active",
"command": "colonize.endline"
}
最後に
使いやすいようにカスタマイズしてみてください.