macOS + Visual Studio Code で拡張を使わずに C-a で物理行頭と論理行頭をいったりきたりする

物理行頭・論理行頭っていうのはこういう意味[要出典]で、

function hoge () {
// ↙物理行頭
        alert(1);
//      ↑論理行頭
}

Emacs を使ってたころから、 C-a を一回押すと論理行頭に、もう一回押すと物理行頭に、更に押し続けると論理行頭と物理行頭を行き来する、という設定にしていたので、これを VS Code でも真似したい。

で、拡張作ったりしないとダメかな〜と思っていたものの、普通に Home を打鍵したときの挙動は既にこれと全く同じ感じだったことに気がついたので、C-a でも同じ command を実行するように設定すればよさそう、と思ってやってみたら正解だった。

Preferences > Keyboard Shortcuts > "For advanced customizations open and edit keybindings.json" をクリックすると開ける keybindings.json に、以下のようなエントリを追加すればよい。

[
    {
        "key": "ctrl+a",
        "command": "cursorHome",
        "when": "editorTextFocus"
    }
]

よくみると、デフォルトでは cursorLineStart コマンドになっている。