Sublime Text 4 の設定(2/3) – Key Bindings [for Windows]
Sublime Text 3 の設定エントリー一覧
- Package Control
- Key Bindings
- for Mac
- for Windows(現在のエントリー)
- Settings
前置き
- 職場はMac、自宅はWindowsを使っているため、どちらも同じ感覚で操作できるようにすることを目的としている
- 人によってはデフォルトで十分な(わざわざ変更する必要がない)設定項目もある
- キーボードはMac・WindowsともにUS配列を利用
- PowerToys の「Keyboard Manager」を使って
Alt
とCtrl
を入れ替えてる
設定画面の開き方
以下いずれかの操作で開ける。
- ツールバー > Preferences > Key Bindings
- Package Control > 「Prefereces: Key Bindings」を検索
事前準備
デフォルト設定ファイルを編集可能にする
格納場所の準備
Windows
+E
でエクスプローラを開くAlt
+D
でアドレスバーを選択し、以下を入力して Enter%AppData%\Sublime Text\Packages
- 以下のパス移動したことを確認
C:\Users\ユーザー名\AppData\Roaming\Sublime Text\Packages
- 直下に
Default
ディレクトリを作成
設定ファイルの複製&保存
- Sublime Text を開く
- Key Bindings を開く
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 } },
Open folder のショートカット設定
デフォルトだと ctrl
+ o
で「ファイルを開く」動作をするが、リポジトリ単位で開きたいシーンのほうが多いため、「フォルダを開く」動作に変更する。
{ "keys": ["ctrl+o"], "command": "prompt_open_folder" }
Emmet のショートカット設定
パッケージ「Emmet」用の設定。Alt
+ E
で展開できるようにする。
{ "keys": ["alt+e"], "command": "emmet_expand_abbreviation" },