Sublime Text 4 の設定(2/3) – Key Bindings [for Windows]

Sublime Text 3 の設定エントリー一覧

  1. Package Control
  2. Key Bindings
    • for Mac
    • for Windows(現在のエントリー)
  3. Settings

前置き

  • 長年Macユーザーだった自分が、Windowsでも近い感覚で操作できるようにすることを目的にしています
  • 人によってはデフォルトで十分な(わざわざ変更する必要がない)設定項目もあります
  • Windows ではUS配列キーを利用しています
  • Mac 版の設定エントリーは以下

設定画面の開き方

以下いずれかの操作で開ける。

  • ツールバー > Preferences > Key Bindings
  • Package Control > 「Prefereces: Key Bindings」を検索

事前準備

デフォルト設定ファイルを編集可能にする

格納場所の準備
  1. Windows + E でエクスプローラを開く
  2. Alt + D でアドレスバーを選択し、以下を入力して Enter
    • %AppData%\Sublime Text\Packages
  3. 以下のパス移動したことを確認
    • C:\Users\ユーザー名\AppData\Roaming\Sublime Text\Packages
  4. 直下に Default ディレクトリを作成
設定ファイルの複製&保存
  1. Sublime Text を開く
  2. Key Bindings を開く
  3. Ctrl + Shift + S で先程作ったディレクトリへ保存
    • Alt + D でアドレスバーを選択し、以下を入力してEnter
      • %AppData%\Sublime Text\Packages\Default
    • ファイル名は特に設定せずそのまま
      • Default (Windows).sublime-keymap

デフォルト設定ファイルを編集する

Key Bindingsを開いたときに左側にでる「Defaults」のほうを編集する。

使用しないshow_overlay系ショートカットを無効化

  • 誤入力したときにうざったい
  • 文字検索時の次の対象へ移動する動作に Ctrl+G を割り当てたい

ので、以下の3行をコメントアウトする。

{ "keys": ["ctrl+r"], "command": "show_overlay", "args": {"overlay": "goto", "text": "@"} },
{ "keys": ["ctrl+g"], "command": "show_overlay", "args": {"overlay": "goto", "text": ":"} },
{ "keys": ["ctrl+;"], "command": "show_overlay", "args": {"overlay": "goto", "text": "#"} },

使用しないsubwords系ショートカットを無効化

Macでは

  • cmd + 左右 → 行頭・行末移動

が割り当てられているが、Windows上で無意識的にそれ狙った操作すると

  • Alt + 左右 → subwords 単位の移動

が動作してしまう。

いっぽう、words 単位の移動は

  • Mac:option + 左右
  • Windows:ctrl + 左右

が割り当てられており、デフォルトで近い使用感になっており特に問題がない。
よって、誤操作を招くsubwords 単位の方は「使わない」と割り切って無効化する。

以下4行をコメントアウトする。

{ "keys": ["alt+left"], "command": "move", "args": {"by": "subwords", "forward": false} },
{ "keys": ["alt+right"], "command": "move", "args": {"by": "subword_ends", "forward": true} },
{ "keys": ["alt+shift+left"], "command": "move", "args": {"by": "subwords", "forward": false, "extend": true} },
{ "keys": ["alt+shift+right"], "command": "move", "args": {"by": "subword_ends", "forward": true, "extend": true} },

scroll_lines(行単位のスクロール)のショートカットを無効化

  • 使えなくもないけど使ってない
  • Ctrl + 上下をファイル先頭・末尾移動のショートカットに割り当てたい

ので、以下2行をコメントアウトする。

{ "keys": ["ctrl+up"], "command": "scroll_lines", "args": {"amount": 1.0 } },
{ "keys": ["ctrl+down"], "command": "scroll_lines", "args": {"amount": -1.0 } },

ユーザー定義ファイルを編集する

Key Bindings を開いたときに右側にでる「Users」のほうを編集(追記)する。

文字検索時のショートカット設定

Mac では、日本語入力との相性の関係で Return キーによる前後移動ができないため、cmd + G で代用している。その使用感に近づけるため、以下のショートカットを追加する。

動作 割り当てキー
次の対象へ移動 Ctrl + G
前の対象へ移動 Ctrl + Shift + G
対象をすべて選択 Ctrl + Alt + G
// Find panel key bindings
{ "keys": ["ctrl+g"], "command": "find_next", "context":
    [{"key": "panel", "operand": "find"}, {"key": "panel_has_focus"}]
},
{ "keys": ["shift+ctrl+g"], "command": "find_prev", "context":
    [{"key": "panel", "operand": "find"}, {"key": "panel_has_focus"}]
},
{ "keys": ["alt+ctrl+g"], "command": "find_all", "args": {"close_panel": true},
     "context": [{"key": "panel", "operand": "find"}, {"key": "panel_has_focus"}]
},

行頭・行末移動のショートカット設定

Macではcmd + 左右で動く行頭・行末移動を、Alt + 左右で動くようにする。

{ "keys": ["alt+left"], "command": "move_to", "args": {"to": "bol", "extend": false} },
{ "keys": ["alt+right"], "command": "move_to", "args": {"to": "eol", "extend": false} },
{ "keys": ["shift+alt+left"], "command": "move_to", "args": {"to": "bol", "extend": true} },
{ "keys": ["shift+alt+right"], "command": "move_to", "args": {"to": "eol", "extend": true} },

これが設定されていれば、Ctrl + Alt + 上下をしたあとの矩形選択操作もだいぶ Mac と同じような使用感に近づく。

ファイル先頭・末尾移動のショートカット設定

Macでは cmd + 上下で動くファイル先頭・末尾移動を、Alt + 上下で動くようにする。

{ "keys": ["ctrl+up"], "command": "move_to", "args": {"to": "bof", "extend": false} },
{ "keys": ["ctrl+down"], "command": "move_to", "args": {"to": "eof", "extend": false} },
{ "keys": ["ctrl+shift+up"], "command": "move_to", "args": {"to": "bof", "extend": true} },
{ "keys": ["ctrl+shift+down"], "command": "move_to", "args": {"to": "eof", "extend": true} },
行移動との競合回避

もともと Ctrl + Shift + 上下が割り当てられている swap_line_up の設定は、Alt + Shift + 上下で動くように変更する。

{ "keys": ["alt+shift+up"], "command": "swap_line_up" },
{ "keys": ["alt+shift+down"], "command": "swap_line_down" },

※できるだけデフォルトを保ちたかったけど、上下移動を優先させるため妥協。

Reindentのショートカット設定

Ctrl + Shift + R でインデント整形できるようにする。

{ "keys": ["ctrl+shift+r"], "command": "reindent" , "args": { "single_line": false } },

Comments

  • スパム対策のため、コメント本文にURLが含まれている場合は「承認待ち」となり、すぐに投稿が反映されません。ご了承ください。
  • 公序良俗に反する内容、個人が特定できる情報、スパム投稿と思われるコメント等については、予告なく編集・削除する場合があります。