Sublime Textの基本設定

Sublime Text 3を使い始めるにあたって、Macではこのくらいの設定とパッケージの導入はやったほうが良いというのをまとめてみました。

個別のプログラミングや特定の目的に特化したパッケージは外しています。ブログや仕事のメモ、時々プログラミングやWebのオーサリングをやるような方が汎用的に使えるものに絞ってみました。

Sublime Textの基本セッティング

まず、Preference > Settings - User に書く内容です。

デフォルト値のものも書いてありますが、今後書き換えそうなものは一応網羅して書くようにしました。

{
    "color_scheme": "Packages/Material Theme/schemes/Material-Theme.tmTheme",
    "theme": "Material-Theme.sublime-theme",
    "tree_animation_enabled" : true,               // ファイルの削除やフォルダの開閉時にアニメーション
    "animation_enabled" : true,                     // アプリ全体でアニメーションを制御
    "ignored_packages":
    [
        "Vintage"
    ],

    // 基本設定
    "tab_size" : 4,                                 // タブのサイズ   
    "translate_tabs_to_spaces" : true,              // タブをスペースに変換   
    "use_tab_stops" : true,                         // タブストップを使うか   
    "detect_indentation" : true,                    // ファイル読み込み時に上記の設定を適用   
    "auto_indent" : true,                           // 自動インデント   
    "smart_indent" : true,                          // 言語の文法を考慮した自動インデント   
    "indent_to_bracket" : true,                     // カッコの改行に対してインデント   
    "trim_trailing_white_space_on_save" : false,    // 行末の空白削除   
    "ensure_newline_at_eof_on_save" : false,        // 最終行に改行を追加   
    "shift_tab_unindent" : true,                    // Sift + Tabでアンインデント   
    "trim_automatic_white_space" : true,            // 空行のインデントを除去   
    "draw_indent_guides" : "activeGuide",           // インデントガイドの表示   
                                                    //   "guide","axtiveGuide" , "stackGuide"
    "indent_guide_options" : "draw_normal",         // Default="draw_normal 
    "remember_open_files" : false,                  // Sublimeを終了する直前に開いていたファイルを記憶する
    "close_windows_when_empty" : true,              // 開いているファイルがなくなったらSublimeを終了する
    "draw_white_space" : "selection",               // ホワイトスペースを可視化するか
    "highlight_line" : true,                        // 現在行をハイライト
    "caret_style" : "solid",                        // カーソルスタイル
                                                    //  "solid","smooth","phase","blink"
    "caret_extra_top" : 2,                          // カーソルの大きさ
    "caret_extra_bottom" : 2,
    "caret_extra_width" : 1,
    "show_encoding" : true,                         // エンドードが表示されるように
    "word_wrap" : "auto",                           // テキストの折り返し, true,false,"auto"
    "wrap_width" : 0,                               // テキスト折り返し位置。0の場合はウィンドウ幅
    "indent_subsequent_lines" : true,               // 折り返した時インデント表示するか
    "rulers" : [0,78,80],                           // ルーラー
    "line_numbers" : true,                          // 行番号の表示
    "gutter" : true,                                // ガーターを表示
    "margin" : 4,                                   // ガーターとテキストエリアの余白
    "fold_button" : true,                           // ガーターに三角の折りたたみボタンを表示
    "fade_fold_button" : true,                      // 折りたたみボタンを常に表示するかどうか
    "draw_centered" : false,                        // センタリング表示するかどうか
    "auto_match_enabled" : true,                    // カッコや引用符で補完するかどうか
    "dictionary" : "Packages/Language - English/en_US.dic",
    "draw_minimap_border" : false,                  // ミニマップの境界の表示
    "alwasy_show_minimap_viewport" : false,         // falseの時はマウスをあてた時のみ
    "match_brackets" : true,                        // 対応するカッコの強調表示
    "match_brackets_content" : true,                // いつ強調表示するか
    "match_brackets_square" : true,                 // [] を強調表示するか
    "match_brackets_braces" : true,                 // {} を強調表示するか
    "match_brackets_angle" : false,                 // <> を強調表示するか
    "match_tags" : true,                            // HTMLなどで開始タグと終了タグを強調表示するか
    "match_selection" : true,                       // 選択されているテキストと同じ内容を強調表示
    "line_padding_top" : 0,                         // 各行の余白
    "line_padding_bottom" : 0,
    "atomic_save" : true,                           // ファイルの保存方法
                                                    // trueの場合は、一旦中間ファイルに保存し入れ替える
    "auto_complete" : true,                         // 自動補完
    "auto_close_tag" : true,                        //終了タグを補完するか
    "copy_with_empty_selection" : true,             //何も選択していない時、現在行に対して動作する

}

必須パッケージの導入

次は、一般的にこれは入れておいたほうが良いと思われるパッケージです。

(1) 日本語関連

  • ConvertToUTF8
  • Codecs33

Sublime Textの文字コードはUTF−8のみ対応で、日本語でよく用いられるShift JISなどのエンコードに対応していません。Shift JISのファイルを開くと文字化けを起こしてしまいます。

パッケージ ConvertToUTF8を導入すると、UTF-8でないエンコードのファイルを開くと一旦UTF-8にエンコードを変換して、編集後にまた元のエンコードで書き戻してくれるようです。

Macの場合は前提として、パッケージ Codecs33が必要です。

(2)ファイル・バッファ管理機能拡充

  • SideBarEnhancements
  • Sublime Files
  • Origami

Sublime Textのサイドバーにはファイル一覧が表示できます。しかし、これがとっても貧弱で、コンテキストメニューでできることがほとんどありません。 パッケージ SideBarEnhansementsを導入すると、コンテキストメニューが拡張されコンテキストメニューからファイルやフォルダに対して多くの操作が可能になります。

さて、とはいえ折角エディタを使っているのに、マウスでサイドバーにカーソルを当ててクリックとかとっても不便です。キーボード主体でファイル操作を行えるパッケージ Sublime Filesがあります。このパッケージでは、Ctrl + Cmd + Nでパレットが開いて、ファイルを選択したり、Directory Actionと呼ばれるファイル操作を行うことが可能になります。

また、Sublime Textの分割ウィンドウの機能は使いにくいので、Origamiというパッケージを導入しました。Cmd + Kをプリフィックスにして、矢印キーでウィンドウを自在に分割できるようになります。

(3)テキスト整形・編集

  • Abacus
  • Smart Delete
  • BracketHighlighter

Abacusは、'='や ':' などで区切られているような変数定義や連想配列の定義で綺麗にテキストの位置を合わせくれます。

Smart Deleteは、行末で削除キーを押した時に次の行頭のインデントの空白文字も一緒に削除してくれます。

BracketHighligherは、カッコの組み合わせをわかりやすいよう、行番号の前に記号で表示してくれます。

関連リンク:


Comments !