SublimeText3の設定とかキーバインドとかパッケージとか


結局Vimをあんまり使ってないので、課金した[SublimeText](https://www.sublimetext.com/)の設定をあげておく。
ちなみにMac版。Windowsの人は適宜読み替えしてください。

## 設定
設定名から意図が分かりにくいもののみ説明。

#### "auto_complete_commit_on_tab": true
Tabキーで補完の実行をする。
標準だとEnterキーで補完を実行するが、補完せずに改行したい時があるため。
#### "auto_complete_cycle": true
#### "close_windows_when_empty": true
全部のタブを閉じた後にもう一度閉じるコマンドでウィンドウを消したかった。(好み)
#### "enable_tab_scrolling": false
たくさん開くとタブが重なったりする。タブの並びとかファイル名とかを見たい人なので無効化。
#### "highlight_modified_tabs": true
#### "draw_white_space": "all"
半角スペースとタブを可視化する。
#### "match_brackets": false
BracketsHighlighterと機能が被るため無効化。
#### "highlight_line": false
#### "scroll_past_end": true
ファイルの最終行よりも下を表示できるようにする。(好み)
#### "show_encoding": true
#### "show_line_endings": true


## キーバインド

### ブックマーク
コードを読んでる時によく使う。
標準のブックマークのキーバインドは修飾キー+F2。遠いので変更。

#### { "keys": ["ctrl+tab"], "command": "next_bookmark" }
#### { "keys": ["ctrl+shift+tab"], "command": "prev_bookmark" }
#### { "keys": ["super+b"], "command": "toggle_bookmark" }

### カーソル
ターミナルっぽく単語ごとに移動と削除。

#### { "keys": ["alt+f"], "command": "move", "args": {"by": "word_ends", "forward": true} }
#### { "keys": ["alt+b"], "command": "move", "args": {"by": "words", "forward": false} }
#### { "keys": ["ctrl+w"], "command": "delete_word", "args": {"forward": false, "sub_words": false } }
#### { "keys": ["alt+d"], "command": "delete_word", "args": {"forward": true, "sub_words": false } }

### その他

#### { "keys": ["super+k", "super+r"], "command": "reveal_in_side_bar" }
開いているファイルがサイドバーのどこにあるか表示。同名ファイルがある場合に便利。


## パッケージ
パッケージごとにも設定とキーバインドがある。

#### [Package Control](https://packagecontrol.io/installation)
必須。まずこれを入れよう。

### 見た目

#### [Monokai Extended](https://packagecontrol.io/packages/Monokai%20Extended)
Color Scheme
シンタックスハイライトの色の付き方が変わる。

#### [A File Icon](https://packagecontrol.io/packages/A%20File%20Icon)
サイドバーのファイルアイコンを変更する。
拡張子だけでファイルの種類を判断するより楽になる。

### コーディング-見た目

#### [SublimeLinter](https://packagecontrol.io/packages/SublimeLinter)
構文チェックプラグイン。
SublimeLinter-***という名前のリンタープラグインを入れることで様々な言語に対応。

#### [BracketHighlighter](https://packagecontrol.io/packages/BracketHighlighter)
括弧の対応を表示してくれる。

#### [Color Highlighter](https://packagecontrol.io/packages/Color%20Highlighter)
指定したSyntaxの時に、#FFFFFF などの色の記法にその色をつけてくれる。
細かい色の変化には役に立たない(エディタの背景色との兼ね合いがあるため)。

#### [GitGutter](https://packagecontrol.io/packages/GitGutter)
Gitプロジェクト内のコードであれば、変更箇所や行追加などをガター(行番号の隣)に表示してくれる。

### コーディング-補完

#### [All Autocomplete](https://packagecontrol.io/packages/All%20Autocomplete)
補完機能の強化。同じウィンドウ内で開いているファイルからも関数名などの補完をしてくれるようになる。

#### [AutoFileName](https://packagecontrol.io/packages/AutoFileName)
文字列の入力の際にパスの補完をしてくれる。

#### [InputSequence](https://github.com/kazu1107/InputSequence)
連番入力。マルチカーソルと組み合わせると最強。
これはPackageControlで調べても出てこないので、サイトを見てインストール。

#### [Table Editor](https://packagecontrol.io/packages/Table%20Editor)
Markdownのテーブルなどを自動で見やすく整形してくれる。
**サポート終了してるっぽい...**


### コーディング-変換
#### [Case Conversion](https://packagecontrol.io/packages/Case%20Conversion)
snake_case <=> camelCase などの変換をしてくれる。
変換の癖が分かればshift押しながら打たなくて済むようになる。コピペしたコードの変換とかに使ってる。
ついでに、カーソル位置の単語または選択範囲内を全て **大文字** にする`⌘-K ⌘-U`と、逆に **小文字** にする`⌘-K ⌘-L`も覚えておくと良い。

#### [Pretty JSON](https://packagecontrol.io/packages/Pretty%20JSON)
JSONを整形してくれる。prettifyしたり、minifyしたり。

#### [StringUtilities](https://packagecontrol.io/packages/StringUtilities)
色々できる。選択文字列を16進数に変換とか、htmlエンティティから変換とか。


### エディタ設定

#### [EditorConfig](https://packagecontrol.io/packages/EditorConfig)
Editor Configのプラグイン。ファイルの拡張子ごとに、インデントサイズや改行コードの設定ができる。
複数人開発や複数のエディタを使う時に便利。

#### [FindKeyConflicts](https://packagecontrol.io/packages/FindKeyConflicts)
重複したキーバインド設定のリストを表示する。
新しく設定したりする時に使う。


### 機能追加/拡張

#### [HexViewer](https://packagecontrol.io/packages/HexViewer)
バイナリエディタプラグイン。たまに使う。

#### [OmniMarkupPreviewer](https://packagecontrol.io/packages/OmniMarkupPreviewer)
マークアップで書かれたファイルをブラウザでプレビューできる。ホットリロードも可能。

#### [ProjectManager](https://packagecontrol.io/packages/ProjectManager)
プロジェクト管理プラグイン。標準の機能を拡張。
プロジェクトごとに作っておくと切り替えがすぐにできて便利。
プロジェクトファイルの置き場所を設定しておく。
Cloneしてきたリポジトリとかのプロジェクトを作っておけばすぐ開ける。
(ターミナルで `subl path/to/repo` してもいいけど)

#### [SideBarEnhancements](https://packagecontrol.io/packages/SideBarEnhancements)
サイドバー拡張。追加コマンドも便利。(File: のやつ)
似たようなプラグインに[Sublime Files]()というのもある。こっちはコマンドのみの追加。お好きな方をどうぞ。

#### [MoveTab](https://packagecontrol.io/packages/MoveTab)
同一ウィンドウ内のタブの位置を変更するショートカットを設定できるようにする。
以下のような設定をkeybindingsに設定する。

```
  { "keys": ["super+alt+shift+["], "command": "move_tab", "args": { "position": "-1" } },
  { "keys": ["super+alt+shift+]"], "command": "move_tab", "args": { "position": "+1" } },
```


### 入れてみようと思っているもの
#### [Ctags](https://packagecontrol.io/packages/CTags)
#### [AutocompletionFuzzy](https://packagecontrol.io/packages/AutocompletionFuzzy)