quattro_4's diary

また同じ過ちを繰り返すと気付かんのか!?

Sublime Text 2 オレオレカラースキーム

カラースキームののカスタマイズ

まずはカスタマイズしたいカラースキームのファイルをUser以下にコピー

$ cd ~/Library/Application\ Support/Sublime\ Text\ 2/Packages
Packages $ cp RailsCasts\ Colour\ Scheme/RailsCastsColorScheme.tmTheme User/

あとはコピーしたRailsCastsColorScheme.tmThemeを変更して
メニュー Sublime Text 2→
Preferences ▶ Color Scheme ▶ User ▶ RailsCastsColorScheme
を選択

Color Schemeのもとにするファイルについては他にも、
以下にたくさんデフォルトのカラースキームがある

Packages $ ls Color\ Scheme\ -\ Default/

Monokai Brightなどは、selectionForegroundとかbracketsForegroundとか色々あって
どんなものがカスタマイズ可能かの参考になる

Packages $ cat Color\ Scheme\ -\ Default/Monokai\ Bright.tmTheme

カラーを定義しているxmlの中には
#9D550FB0のように桁数が多いものが存在するが
余分な値の部分がopacity (transparency) の透明度を指定しているらしい


最終的に変更したものは、いずれももとは目立たなかったもので

  • Line Highlight (以前は背景の黒と大差がなかった)
  • Selection Highlight (同上)
  • Brackets Highlight (underlineがかすかに表示される程度)

最後のはsublimetext - How to change style of matched brackets in Sublime Text 2? - Stack Overflowを参考にした

変更部分

--- a/Packages/User/RailsCastsColorScheme.tmTheme
+++ b/Packages/User/RailsCastsColorScheme.tmTheme
@@ -18,9 +18,21 @@
         <key>invisibles</key>
         <string>#404040</string>
         <key>lineHighlight</key>
-        <string>#333435</string>
+        <string>#333399</string>
         <key>selection</key>
-        <string>#3D4456E0</string>
+        <string>#FFE792</string>
+        <key>selectionForeground</key>
+        <string>#000000</string>
+
+        <key>bracketsForeground</key>
+        <string>#00ff00</string>
+        <key>bracketsOptions</key>
+        <string>foreground</string>
+
+        <key>bracketContentsForeground</key>
+        <string>#00ff00</string>
+        <key>bracketContentsOptions</key>
+        <string>foreground</string>
       </dict>
     </dict>

配色についてはあまり不満は無かったのだけれど、カスタマイズに踏み切ったきっかけはというと、何のパッケージの効果か分からないけど、⌘Dで検索・選択したときに黄色くハイライトされることがあって、またそれがすごい見やすくて、でもそれもランダムでなったりならなかったりだったのでどうすれば常に選択個所が見やすくハイライトされるかを調べているうちに今回のような結果になった。

他に
BracketHighlighter
は初期に一度入れたけれど、デフォルトの色がうるさすぎてやめていた。

今ある不満は、
シンタックスハイライトが壊れていたり、未対応のものがまだあること
(HamlとかSASSのマニアックな部分とか?)
DetectSyntaxがしばしば、動作の遅いプラグインとして警告されることなど