SublimeText2/3 環境設定とか（基本3）


環境壊しました。一から作ります。
あと最近使い方聞かれることが多いのでメモ的に。
初心者 Rubyist 向けです。
SublimeText3 で動作確認してます。

## 設定
`Preferences` -> `Settings - User` というところが設定ファイル。

### 設定
```json
{
	"color_scheme": "Packages/Theme - Flatland/Flatland Dark.tmTheme",
	"draw_white_space": "all",
	"ensure_newline_at_eof_on_save": true,
	"flatland_square_tabs": true,
	"font_size": 18,
	"highlight_line": true,
	"ignored_packages":
	[
		"Vintage"
	],
	"itg_small_tabs": true,
	"tab_size": 2,
	"theme": "Cobalt2.sublime-theme",
	"translate_tabs_to_spaces": true,
	"font_options" : ["gray_antialias"]
}
```


ちなみに設定ファイルは `json` っぽい感じなので、カンマの有無に気をつけましょう。最後はカンマつけたら怒られます。（sublime 3 は怒られません。やった！）

`Preferences` -> `Settings - Default` というのがデフォの設定なので、こいつを参考に User の方をいじるとよいでしょう。

これを読むとだいたいわかるとおもいます。 
"Sublime Text 2 のDefault設定ファイルについて" https://gist.github.com/BlackKetchupTea512/3620658



## メニューからの変更

- `View` -> `Hide Minimap` 
  - これは僕には邪魔なので消します。


## メモ ＋ 基本操作など

### メニューバーの `Help` 
- インクリメンタルサーチしてくれて結構便利なので使いましょう。


### 検索
- `cmd` + `f` : そのファイル内を検索
- `cmd` + `opt` + `f` : そのファイル内を置換
- `cmd` + `shift` + `f` : 全体検索 + 置換 ( `Where` に何も指定しないと、開いているプロジェクト全体になる） 

### ファイルを開く
- `cmd` + `t`: いい感じにインクリメンタルサーチしてくれるので、たとえば `controllers/hoges_controller.rb` を開きたい場合、`cont hoge` などでいける。

### 操作
- `ctrl` + `0` : サイドバーにフォーカスする
- `cmd` + `opt` + 2 : 画面を左右分割する
- `cmd` + `opt` + 1 : 画面を一つにする

## PackageControll

### インストール
1. `View` ->`Show Console` すると画面の下の方にコンソールウィンドウが出るので、そこに↓のコードを貼り付けて `Enter` キーを押下。

- SublimeText2 ( SublimeText の再起動が必要）
https://sublime.wbond.net/installation#st2
- SublimeText3
https://sublime.wbond.net/installation#st3



## インストールしたパッケージ

### パッケージのインストール方法

- `Shift` + `Cmd` + `p` で表示されるランチャー？から、`Package Controll: Install Packag` を選択して `Enter` を押下。（インクリメンタルサーチしてくれるので `pac ins` などと打つとみつけやすいと思います。） 
- パッケージリストをインクリメンタルサーチしてくれるので気になる単語（git とか ruby とかで探しましょう。）
- オススメプラグインなどググると出てくるので参考にしましょう。
- 基本 PackageControll から名前で検索してインスールできるかと。

### ★★★ Flatland
- https://github.com/thinkpixellab/flatland
- テーマがかっちょよくなってテンションが上がって便利！
- PackageControll から インストールして、https://github.com/thinkpixellab/flatland#activating-the-theme を読んで設定ファイルに追加しましょう。
- アイコンもかっちょよくできるので "Sublime Text 2 のテーマをフラットデザインでかっこいい「Flatland Theme」に変更してみた | memobits" http://m.designbits.jp/13050911/ を見ましょう。

### ★★★ cobalt2
- [wesbos/cobalt2]( https://github.com/wesbos/cobalt2 )
- サイドバーアイコンが使えて便利！
- Preferences → Settings - User で↓を設定

```
"color_scheme": "Packages/Theme - Cobalt2/cobalt2.tmTheme",
"theme": "Cobalt2.sublime-theme",
```



### SideBarEnhancements

- サイドバー右クリック時にいろんなメニューを出してくれて便利！
- https://github.com/titoBouzout/SideBarEnhancements
- デフォルトので十分かも。必要になったらまたいれよう

### ★★★ GitGutter
- Git で管理してるコードの差分行をリアルタイムで表示してくれて便利！
- https://github.com/jisaacks/GitGutter

### ★★★ TrailingSpaces
- 余計なスペースを色つけてくれて、保存時に削除してくれて便利！
- https://github.com/SublimeText/TrailingSpaces


### ★★★ Rails-Latest-Migration
- Rails の 直近の Migration ファイルを開いてくれるので便利！
- https://github.com/alexpls/Rails-Latest-Migration
- なくても困りませんが、地味にいいですよ。

### Gist
- Gist と連携できて便利！
- https://github.com/condemil/Gist
- github で token を発行し、Sublime の Gist.sublime-setting に設定が必要。この設定ファイルは↓の操作とか Gist の機能を使おうとすると表示される。github token 発行は https://github.com/condemil/Gist#web のあたりを読もう
- `cmd` + `shift` + `p` で `gist:` って打つとメニューがでてくるので、`open gist` とか選ぶと、自分の gist をファイル単位で開くことができる。 
- まあ、gist は web から開いてコピペすればいいので、別になくても困りませんね

### ★★★ Linter 系
- 入れておくとリアルタイムにシンタックスエラーとかがわかって便利！
- SublimeLinter
- SublimeLinter-ruby
  - 日本語でエラーになる場合は、Package Settings -> SublimeLinter -> Settings User から args に "-Ku" を追加

```json
            "ruby": {
                "@disable": false,
                "args": ["-Ku"],
                "excludes": []
            }
```
- SublimeLinter-haml
- SublimeLinter-json
- SublimeLinter-jshint
- SublimeLinter-coffeelint
- SublimeLinter-rubocop


### Snipets 系
- Ruby とか Rails とかで Package 調べるといろいろある。
- 必要になったらいれて、コレ更新しよう。

### ★ sass-textmate-bundle
- sass の シンタックスとか Snipets とか便利。
- https://github.com/nathos/sass-textmate-bundle
- このあたり複数あるけどなにがいいのかいまいちわかってない

### ★★★ SyncedSideBar
- サイドバーで、今開いてるファイルに色を付けてくれて便利！
- https://github.com/sobstel/SyncedSideBar

### ★★★ sublime-text-2-git
- Package Controll から Git で見つかるやつ
- https://github.com/kemayo/sublime-text-2-git
- SublimeText3 でも動いた
- 主に blame してます（犯人探しじゃなくて、質問したいときなどに）
- SublimeGit ( https://sublimegit.net/ )という有料のがあるのでそちらの方がいいのかもしれない

### Tag
- 閉じタグ `</` 打つと補完してくれるので地味に便利！
- https://github.com/SublimeText/Tag

### ★★★ RubyTest
- Rails の実装とテストが `cmd` + `.` で切り替えられて便利！
- https://github.com/maltize/sublime-text-2-ruby-tests
- あとカーソル行や開いてるファイルのテストが実行できたりなど便利！
- RubyTest.sublime-settings に下記のようなのを環境に合わせて設定を追加して `cmd` + `shift` + `r` で実行

```
{ # 詳しくは README を
  "check_for_bundler": true,
  "check_for_rbenv": true
}
```


### BeautyRuby
- https://github.com/CraigWilliams/BeautifyRuby
- auto-format してくれるはずなんだけど、rbenv でうまく動かない…
- まあ、使えなくてもあまり気にならないです、僕は。


### SublimeRailsNavigator
- model とか controller とかのリストを表示してくれて便利
- https://github.com/noklesta/SublimeRailsNav
- ST2 は PackageControll で入るけど、ST3 は以下の様な感じです

```
$ cd ~
$ git clone https://github.com/noklesta/SublimeRailsNav.git
$ git chechout ST3
$ mv SublimeRailsNav ~/Library/Application\ Support/Sublime\ Text\ 3/Packages
```
- 設定
  - `Preference` -> `PackageSettings` -> `Key Bindings - User` から以下のような感じに

```
[
  // SublimeRailsNav
  { "keys": ["super+ctrl+m"], "command": "list_rails_models" },
  { "keys": ["super+ctrl+c"], "command": "list_rails_controllers" },
  { "keys": ["super+ctrl+v"], "command": "list_rails_views" },
  { "keys": ["super+ctrl+h"], "command": "list_rails_helpers" },
  { "keys": ["super+ctrl+x"], "command": "list_rails_fixtures" },
  { "keys": ["super+ctrl+t"], "command": "list_rails_tests" },
  { "keys": ["super+ctrl+i"], "command": "list_rails_javascripts" },
  { "keys": ["super+ctrl+y"], "command": "list_rails_stylesheets" }
]
```


### SublimeSuperNavigator

- https://github.com/jugyo/SublimeSuperNavigator
- カレント行をナビゲートしてくれて便利！
- 設定
  - `Preference` -> `PackageSettings` -> `Key Bindings - User` から以下のような感じに（ひとまず ctrl + s にしてみました）

```
[
  // SublimeSuperNavigator
  { "keys": ["ctrl+s"], "command": "super_navigate" },
]
```

### RecentActiveFiles
- https://github.com/jugyo/SublimeRecentActiveFiles
- 最近触ったファイルにアクセスしやすくて便利！

- 設定
  - `Preference` -> `PackageSettings` -> `Key Bindings - User` から以下のような感じに（ひとまず ctrl + r にしてみました）

```
[
  // RecentActiveFiles
  { "keys": ["ctrl+r"], "command": "recent_active_files" },
]
```

### ★★★ BetterCoffeeScript
- "aponxi/sublime-better-coffeescript" https://github.com/aponxi/sublime-better-coffeescript
- CoffeeScript まわりに便利

### Emmet
- "sergeche/emmet-sublime" https://github.com/sergeche/emmet-sublime
- ctrl + e で HTML が楽に書けて便利〜

### SublimeHtml2Haml
- "pavelpachkovskij/sublime-html-to-haml" https://github.com/pavelpachkovskij/sublime-html-to-haml
- html を haml に変換できて便利

### Diffy

- https://github.com/zsong/diffy
- 差分が見れて便利

```
[
  { "keys": ["super+k", "super+d"], "command": "diffy" }
  { "keys": ["super+k", "super+c"], "command": "diffy", "args": {"action": "clear"} }
]
```

### ★★★ CTags
- [SublimeText/CTags](https://github.com/SublimeText/CTags)
- メソッド定義場所に飛べたり戻れたりして便利
- `brew install ctags` で ctags をインストール
- Ctags の設定ファイル(`Preferences -> Package Setting -> Ctags -> Setting – User`)

```
{
    "command": "/usr/local/bin/ctags -R -f .tags",
}
```
- プロジェクトを右クリックして、`CTags: Rebuild Tags`

### ★★ DashDoc
* [farcaller/DashDoc]( https://github.com/farcaller/DashDoc )
* ctrl + h で Dash が引けて便利

## Syntax ハイライトの設定
- （だいたいプラグイン入れれば自動で設定された気がするんだけど） coffee とか sass とかならないものがあった。毎回 Syntax ハイライトの設定するのも面倒。
- 対象のファイルを開いた状態で `View` -> `Syntax` -> `Open all with current extension as …` から設定したい Syntax を選択。するとその設定が保存され、次からその拡張子には設定した Syntax ハイライトがつく

## ターミナルからの起動をらくにしよう
- ターミナルから、SublimeText で、そのディレクトリ配下を開く、みたいなことができるととてもらくなので↓の設定などをしてみるとらくです。
- "ターミナルからSublime Text 2を起動するための設定 | DevAchieve" http://wada811.blogspot.com/2013/01/setting-sublime-text-2-alias.html
- ちなみに僕は s に割り振ってます。