Tbpgr Blog

Ruby プログラマ tbpgr(てぃーびー) のブログ

Sublime Textの設定 2015/12/15 version

f:id:tbpg:20151022004414j:plain

Sublime Textの設定 2015/12/15 version

経緯

現在職場のPCをWindowsからMacに移行中なのですが、
Sublime Textの設定をするのにあたって、必要になる設定やPluginを整理します。

Package Controlの設定

各種Snippetや

  • 下記を参照してインストール

Package Control

Plugin, Macro, Snippetのインストール

Package Controlを利用して各種Plugin, Macro, Snippetをインストールします。

Plugins

Name Memo 参考サイト
Emmet ZenCodingの後継、Emmetを利用可能にする Emmet(Zen Codingの新バージョン)プラグインの導入 - Tbpgr Blog
LineEndings 改行コードを表示する LineEndingsプラグインで改行コードを表示する - Tbpgr Blog
MarkdownPreview Markdownのfaviconを指定 Markdown Preview Plugin で Favicon を指定する - Tbpgr - Qiita
MarkdownPreview Markdownをプレビューのカスタマイズ Markdown Preview Pluginの設定をカスタマイズしてgithub.cssおよびRubyのsyntax highlightを適用する - Tbpgr Blog
MarkdownPreview Markdownをプレビュー表示する MarkdownPreviewでGitHub CSSを利用する - Tbpgr Blog
RubyTest Rubyのテスト実行や文法チェックをサポートする Sublime Text2 Ruby TestsでTestUnit,Cucumber,RSpecのテストを効率化 - Tbpgr Blog
Graphviz Preview GraphvizのPreviewを表示する Graphviz Preview - GitHub
rbenv rbenvを利用した環境のRubyを実行する Sublime Text2 rbenv - GitHub
GoToDocumentation エディタ内でフォーカス中のワードをもとにWebのドキュメントを開く sublime-text-2-goto-documentation - GitHub
CTags CTags CTags - GitHub
CTags for PHP CTags for PHP phpctags - GitHub
IndentGuides インデントのガイド線が表示される IndentGuides - GitHub
SublimeTableEditor Tableフォーマットを揃える SublimeTableEditor - GitHub
  • 自作
Name Memo 参考サイト
キャメルケースに変換 キャメルケースに変換 文字列をキャメルケースに変換するプラグインを作成 - Tbpgr Blog
スネークケースに変換 スネークケースに選択 文字列をスネークケースに変換するプラグインを作成 - Tbpgr Blog

Snippets

Macのデフォルトのキーバインドで、SpotlightControl+Spaceが割り当てられているため、
Sublime Textのスニペットの補完とキーが重複しています。Spotlightのキーを外したり、
Snippetの補完のキーを変更する必要があります。

Name Memo 参考サイト
Crystal Crystal言語のSnippet Sublime TextでCrystalのシンタックスハイライトを有効にする - Tbpgr Blog
TOML TOMLのSnippet TOML - GitHub
  • 自作
Name Memo 参考サイト
Emoji Emoji Cheat Sheetの内容をSnippet化 emoji を snippet 化して楽に入力する - Tbpgr - Qiita
FontAwesome FontAwesomeをSnippet化 Font Awesome のタグを snippet 化して楽に入力する - Tbpgr - Qiita
FontAwesome FontAwesomeをSnippetした際のMarkdown Previewの設定 Markdown Preview Plugin で fontawesome を利用できるようにする - Tbpgr - Qiita
Emoji Commit Template gitのcommit template(Emojiプリフィックス付) Git の Commit Template + Subliem Text 2 の Snippet でコミットメッセージの作法を統一・効率化する - Tbpgr - Qiita

Emoji Commit時にSublime Textを利用する場合、下記の設定が必要

$ sudo ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" /usr/bin/subl
$ git config --global core.editor "subl -w"

Macros

  • 自作
Name Memo 参考サイト
MoveMultiForwrodLine.sublime-macro 5行進む マクロの追加とショートカットキーの割当 - Tbpgr Blog
MoveMultiBackLine.sublime-macro 5行戻る マクロの追加とショートカットキーの割当 - Tbpgr Blog
MoveMultiForwrodLineSelection.sublime-macro 5行進みつつ選択 5行単位での行選択マクロを登録 - Tbpgr Blog
MoveMultiBackLineSelection.sublime-macro 5行戻りつつ選択 5行単位での行選択マクロを登録 - Tbpgr - Qiita

Fontの設定

プログラミング環境にはプログラミングフォント,ということでCamingoCodeを設定します。

{
  "font_face": "CamingoCode"
}

Settings

{
    "color_scheme": "Packages/Color Scheme - Default/Monokai.tmTheme",
    "draw_white_space": "all",
    "font_face": "CamingoCode",
    "ignored_packages":
    [
        "Vintage"
    ],
    "rulers":
    [
        80
    ],
    "tab_size": 2,
    "translate_tabs_to_spaces": "true"
}

Key Bindings

[
  { "keys": ["command+down"], "command": "run_macro_file", "args": {"file": "Packages/User/MoveMultiForwrodLine.sublime-macro"} },
  { "keys": ["command+up"], "command": "run_macro_file", "args": {"file": "Packages/User/MoveMultiBackLine.sublime-macro"} },
  { "keys": ["command+shift+down"], "command": "run_macro_file", "args": {"file": "Packages/User/MoveMultiForwrodLineSelection.sublime-macro"} },
  { "keys": ["command+shift+up"], "command": "run_macro_file", "args": {"file": "Packages/User/MoveMultiBackLineSelection.sublime-macro"} },
  { "keys": ["super+shift+c"], "command": "to_camel", "args": {"capitalize": false }},
  { "keys": ["super+alt+shift+c"], "command": "to_camel", "args": {"capitalize": true }},
  { "keys": ["super+shift+o"], "command": "to_snake", "args": {"upper": false }},
  { "keys": ["super+alt+shift+o"], "command": "to_snake", "args": {"upper": true }},
  { "keys": ["alt+m"], "command": "markdown_preview", "args": {"target": "browser"} }
]