VS Code の左右カーソル移動をWordPart移動に置き換える

# はじめに

VS Codeのキーバインドを左右キーで単語境界に移動させるように変更しました。
()や""を打ってしまうと真ん中に移動させづらくなるなど使いづらい事も多いのですが、プログラムを作成しているときは重宝しています。
だた、日本語の文章の場合は、役立たずではあります。

もう少し使いやすくしたExtensionを公開しました。
良ければご覧ください。
[VSCode カーソル移動を向上させる自作 Extension の紹介](https://qiita.com/BlueSilverCat/items/53dbd4925a2a9c5770b8)



# 主要カーソル移動コマンド一覧

VS Codeには以下のようなカーソル移動コマンドがあります。

| command                         | default key       | description                                    |
| ------------------------------- | ----------------- | ---------------------------------------------- |
| cursorLeft(Select)              | Left(Shift+)      | 右へ移動する                                   |
| cursorRight(Select)             | Right(Shift+)     | 左へ移動する                                   |
| cursorWordEndLeft(Select)       |                   | 左の WordEnd へ移動する                        |
| cursorWordEndRight(Select)      | Ctrl+Right(Shift+) | 右の WordEnd へ移動する                        |
| cursorWordStartLeft(Select)     | Ctrl+Left(Shift+)  | 左の WordStart へ移動する                      |
| cursorWordStartRight(Select)    |                   | 右の WordStart へ移動する                      |
| cursorWordLeft(Select)          |                   | 左の WordStart へ移動する                      |
| cursorWordRight(Select)         |                   | 右の WordEnd へ移動する                        |
| cursorWordPartLeft(Select)      |                   | 左の WordPart(End or Start の近い方)へ移動する |
| cursorWordPartRight(Select)     |                   | 右の WordPart(End or Start の近い方)へ移動する |
| cursorWordPartStartLeft(Select) |                   |                                                |

# 変更箇所

上記のコマンドを以下のように置き換えました。
`Shift`付きの選択するコマンドも同じように置き換えていますが省略しています。

| command             | key        |
| ------------------- | ---------- |
| cursorLeft          | Ctrl+Left  |
| cursorRight         | Ctrl+Right |
| cursorWordEndRight  | -          |
| cursorStartLeft     | -          |
| cursorWordPartLeft  | Left       |
| cursorWordPartRight | Right      |

# `keybindings.json`

`keybindings.json` は以下のような記述になります。

```json:keybindings.json
[
  {
    "key": "left",
    "command": "cursorWordPartLeft",
    "when": "textInputFocus"
  },
  {
    "key": "shift+left",
    "command": "cursorWordPartLeftSelect",
    "when": "textInputFocus"
  },
  {
    "key": "right",
    "command": "cursorWordPartRight",
    "when": "textInputFocus"
  },
  {
    "key": "shift+right",
    "command": "cursorWordPartRightSelect",
    "when": "textInputFocus"
  },
  {
    "key": "left",
    "command": "-cursorLeft",
    "when": "textInputFocus"
  },
  {
    "key": "shift+left",
    "command": "-cursorLeftSelect",
    "when": "textInputFocus"
  },
  {
    "key": "ctrl+left",
    "command": "cursorLeft",
    "when": "textInputFocus"
  },
  {
    "key": "ctrl+shift+left",
    "command": "cursorLeftSelect",
    "when": "textInputFocus"
  },
  {
    "key": "right",
    "command": "-cursorRight",
    "when": "textInputFocus"
  },
  {
    "key": "shift+right",
    "command": "-cursorRightSelect",
    "when": "textInputFocus"
  },
  {
    "key": "ctrl+right",
    "command": "cursorRight",
    "when": "textInputFocus"
  },
  {
    "key": "ctrl+shift+right",
    "command": "cursorRightSelect",
    "when": "textInputFocus"
  },
  {
    "key": "ctrl+left",
    "command": "-cursorWordStartLeft",
    "when": "textInputFocus"
  },
  {
    "key": "ctrl+shift+left",
    "command": "-cursorWordStartLeftSelect",
    "when": "textInputFocus"
  },
  {
    "key": "ctrl+right",
    "command": "-cursorWordEndRight",
    "when": "textInputFocus"
  },
  {
    "key": "ctrl+shift+right",
    "command": "-cursorWordEndRightSelect",
    "when": "textInputFocus"
  }
]
```