Sublime Text 3 の設定(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. エクスプローラを開く
  2. alt+Dでアドレスバーを選択肢、以下を入力してEnter
    • %AppData%\Sublime Text 3\Packages
  3. 以下のパス移動したことを確認
    • C:\Users\ユーザー名\AppData\Roaming\Sublime Text 3\Packages
  4. 直下にDefaultディレクトリを作成
設定ファイルの複製&保存
  1. SublimeTextを開く
  2. Key Bindingsを開く
  3. ctrl+shift+Sで先程作ったディレクトリへ保存
    • alt+Dでアドレスバーに以下を入力して移動する
      • %AppData%\Sublime Text 3\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では、日本語入力との相性の関係でEnter(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+上下で動くように変更する。

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

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

Reindentのショートカット設定

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

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

Comments

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