オレオレ Sublime Text 環境まとめ


オレオレな Sumlime Text 環境について、まとめています。
主に、Ruby や Rails や Corona SDK などで利用しています。

## 設定

```json:Preferences.sublime-settings
{
  "color_scheme": "Packages/RailsCasts Colour Scheme/RailsCastsColorScheme.tmTheme",
  "corona_sdk_use_daily_docs": true,
  "draw_white_space": "all",
  "ensure_newline_at_eof_on_save": true,
  "font_face": "Anonymous Pro",
  "font_size": 18,
  "highlight_line": true,
  "itg_sidebar_tree_small": true,
  "itg_xsmall_tabs": true,
  "margin": 2,
  "tab_size": 2,
  "theme": "itg.flat.dark.sublime-theme",
  "translate_tabs_to_spaces": true,
  "trim_trailing_white_space_on_save": true,
  "word_wrap": false,
  "enable_tab_scrolling": false,
  "show_encoding": true,
  "show_line_endings": true
}
```

| 設定項目 | 説明 |
|:--|:--|
| "color_scheme": "Packages/RailsCasts Colour Scheme/RailsCastsColorScheme.tmTheme" | カラースキーマ(#1) |
| "corona_sdk_use_daily_docs": true | Corona SDK デイリービルドドキュメント参照(#2) |
| "draw_white_space": "all" | スペース常時表示 |
| "ensure_newline_at_eof_on_save": true | 最終行に空行自動挿入 |
| "font_face": "Anonymous Pro" | フォント |
| "font_size": 18 | フォントサイズ |
| "highlight_line": true | カレント行のハイライト |
| "margin": 2 | ガーターとテキストエリアの間隔 |
| "tab_size": 2 | タブサイズ |
| "translate_tabs_to_spaces": true | タブを空白に自動変換 |
| "trim_trailing_white_space_on_save": true | 保存時に行末の空白を自動削除 |
| "word_wrap": false | テキストの折り返し |
| "enable_tab_scrolling": false | タブのスクロール表示 |
| "show_encoding": true | エンコーディング表示 |
| "show_line_endings": true | 行末表示 |

(#1) 別途、[RailsCasts Colour Scheme](https://github.com/tdm00/sublime-theme-railscasts) のパッケージインストールが必要です。
(#2) 別途、[Corona Editor](https://github.com/coronalabs/CoronaSDK-SublimeText) のパッケージインストールが必要です。

## キーバインド

```json:Default(OSX).sublime-keymap
[
  { "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" },

  { "keys": ["ctrl+shift+."], "command": "erb" },

  { "keys": ["super+shift+n"], "command": "advanced_new_file"}
]
```

| キー | コマンド |
|:--|:--|
| ⌘ + ctrl + m | list_rails_models(#1) |
| ⌘ + ctrl + c | list_rails_controllers(#1) |
| ⌘ + ctrl + v | list_rails_views(#1) |
| ⌘ + ctrl + h | list_rails_helpers(#1) |
| ⌘ + ctrl + x | list_rails_fixtures(#1) |
| ⌘ + ctrl + t | list_rails_tests(#1) |
| ⌘ + ctrl + i | list_rails_javascripts(#1) |
| ⌘ + ctrl + y | list_rails_stylesheets(#1) |
| ⌘ + shift + l | erb(#2) |
| ⌘ + shift + n | advanced_new_file(#3) |

(#1) 別途、[SublimeRailsNav](https://github.com/noklesta/SublimeRailsNav) のパッケージインストールが必要です。
(#2) 別途、[SublimeERB](https://github.com/eddorre/SublimeERB) のパッケージインストールが必要です。
(#3) 別途、[AdvancedNewFile](https://github.com/skuroda/Sublime-AdvancedNewFile) のパッケージインストールが必要です。

## パッケージ

パッケージコントロールでインストール出来ないパッケージについては、リポジトリを登録してインストールしています。

```json:PackageControl.sublime-settings
{
  "installed_packages":
  [
    "AdvancedNewFile",
    "Better CoffeeScript",
    "Capybara Snippets",
    "Corona Editor",
    "Cucumber",
    "Git",
    "Git Config",
    "GitGutter",
    "Gitignore",
    "LESS",
    "rails_tutorial_snippets",
    "RailsCasts Colour Scheme",
    "RecentActiveFiles",
    "RSpec",
    "Ruby Slim",
    "SASS Snippets",
    "SideBarEnhancements",
    "SublimeERB",
    "SublimeRailsNav",
    "SuperNavigator",
    "Syntax Highlighting for Sass",
    "Theme - itg.flat"
  ],
  "repositories":
  [
    "https://github.com/mhartl/rails_tutorial_snippets",
    "https://github.com/wallysalami/QuickLook",
    "https://github.com/noklesta/SublimeRailsNav/tree/ST3"
  ]
}
```

### AdvancedNewFile

[skuroda/Sublime-AdvancedNewFile](https://github.com/skuroda/Sublime-AdvancedNewFile)

* 新規ファイルを作成する際に便利です。
* 以下のようなキーバインドで、新規ファイルを作成するように、デフォルトのキーバインドを上書きして利用しています。

```json:Default(OSX).sublime-keymap
{ "keys": ["super+shift+n"], "command": "advanced_new_file"}
```

### Better CoffeeScript

[aponxi/sublime-better-coffeescript](https://github.com/aponxi/sublime-better-coffeescript)

* Coffee Script のシンタックスハイライトやコマンド、スニペットが利用可能になります。

### Capybara Snippets

[asux/sublime-capybara-snippets](https://github.com/asux/sublime-capybara-snippets)

* Capybara のスニペットが利用可能になります。

### Corona Editor

[coronalabs/CoronaSDK-SublimeText](https://github.com/coronalabs/CoronaSDK-SublimeText)

* Lua のシンタックスハイライトや Corona SDK のビルドコマンドが利用可能になります。
* Corona SDK のスニペットも多数用意されています。
* Corona API のコードにカーソルを合わせた状態で、`F1ボタン` を押下すると、Corona SDK の公式ドキュメントをブラウザで表示します。
* デバッグ機能も備えていて、ブレイクポイントの設定、ステップ実行、変数の中身を参照することが可能です。
* Corona SDK の提供元である Corona Labs によって提供されています。
* 私の場合、以下のように Daily ビルドのドキュメントを表示するようにしています。

```json:CoronaEditor.sublime-settings
{ "corona_sdk_use_docset": "daily" }
```

### Cucumber

[drewda/cucumber-sublime2-bundle](https://github.com/drewda/cucumber-sublime2-bundle)

* Cucumber のシンタックスハイライトやスニペットが利用可能になります。

### Git

[kemayo/sublime-text-git](https://github.com/kemayo/sublime-text-git)

* Sublime Text 上で git コマンドが利用可能になります。

### Git Config

[robballou/gitconfig-sublimetext](https://github.com/robballou/gitconfig-sublimetext)

* `.gitconfig` のシンタックスハイライトが利用可能になります。

### GitGutter

[jisaacks/GitGutter](https://github.com/jisaacks/GitGutter)

* ガーターにコードの追加や変更、削除マークを表示します。
* これは必須パッケージと言えそうです。

### Gitignore

[theadamlt/Sublime-Gitignore](https://github.com/theadamlt/Sublime-Gitignore)

* GitHub が用意している [.gitignore ファイル](https://github.com/github/gitignore) を利用して、簡単に `.gitignore` を作成可能になります。
* 新規プロジェクトを作成する際に便利です。

### LESS

[danro/LESS-sublime](https://github.com/danro/LESS-sublime)

* LESS のシンタックスハイライトが利用可能になります。

### rails_tutorial_snippets

[mhartl/rails_tutorial_snippets](https://github.com/mhartl/rails_tutorial_snippets)

* [Ruby on Rails Tutorial](http://ruby.railstutorial.org) で利用されているスニペットが利用可能になります。
* 主に、RSpec のスニペットです。

### RailsCasts Colour Scheme

[tdm00/sublime-theme-railscasts](https://github.com/tdm00/sublime-theme-railscasts)

* [RailsCasts](http://railscasts.com) で利用されているカラーテーマが利用可能になります。

### RecentActiveFiles

[jugyo/SublimeRecentActiveFiles](https://github.com/jugyo/SublimeRecentActiveFiles)

* 直近で利用したファイル一覧を表示可能になります。
* `⌘ + k` + `⌘ + t` のキーバインドで表示します。

### RSpec

[SublimeText/RSpec](https://github.com/SublimeText/RSpec)

* RSpec のシンタックスハイライトが利用可能になります。

### Ruby Slim

[slim-template/ruby-slim.tmbundle](https://github.com/slim-template/ruby-slim.tmbundle)

* Slim のシンタックスハイライトが利用可能になります。

### SASS Snippets

[mrmartineau/SASS-Snippets](https://github.com/mrmartineau/SASS-Snippets)

* SASS のスニペットが利用可能になります。

### SideBarEnhancements

[titoBouzout/SideBarEnhancements](https://github.com/titoBouzout/SideBarEnhancements)

* サイドバーで選択状態のファイルに対する便利な操作を利用可能になります。

### SublimeERB

[eddorre/SublimeERB](https://github.com/eddorre/SublimeERB)

* 以下のようなキーバインドで、`<%=  %>`, `<%  %>`, `<%-  -%>`, `<%=  -%>`, `<%#  %>`, `<%  -%>` が簡単に入力可能になります。

```json:Default(OSX).sublime-keymap
{ "keys": ["ctrl+shift+."], "command": "erb" }
```

### SublimeRailsNav

[noklesta/SublimeRailsNav](https://github.com/noklesta/SublimeRailsNav)

* Rails の モデルやコントローラ、ビューなど、特定のディレクトリにあるファイル一覧を表示可能になります。
* 以下のようなキーバインドで、特定のファイル一覧を表示します。

```json:Default(OSX).sublime-keymap
{ "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" }
```

### SuperNavigator

[jugyo/SublimeSuperNavigator](https://github.com/jugyo/SublimeSuperNavigator)

* カレントファイルのインクリメンタルサーチが利用可能になります。
* `⌘ + k` + `⌘ + a` のキーバインドで表示します。

### Syntax Highlighting for Sass

[P233/Syntax-highlighting-for-Sass](https://github.com/P233/Syntax-highlighting-for-Sass)

* SCSS / Sass のシンタックスハイライトを利用可能になります。