いろいろ Solarized設定


これまで、エディタやターミナルの色についてほぼデフォルト設定のまま使っていたが、PCを新調したのを契機に Solarized テーマを導入してみたので、そのメモ。

環境は macOS Sierra

## Solarized とは
ターミナルやGUIのために16色で設計されたカラーパレットで、様々なアプリケーション向けに暗いダークと明るいライトの2種類のカラースキーム設定が用意されている。

![Solarized](http://ethanschoonover.com/solarized/img/solarized-yinyang.png)

詳しくは[Solarized \- Ethan Schoonover](http://ethanschoonover.com/solarized)を参照。各種アプリケーションでの設定ファイルや設定方法もこのサイトにリンクされている。

幾つかのアプリケーションでは、デフォルトの設定の一覧に含まれるのでそれを選択するだけで適用できる。

## macOS の標準Terminalの設定
macの標準ターミナルでは Solarized プロファイルを次の手順で追加できる。

1. [tomislav/osx\-terminal\.app\-colors\-solarized: Solarized color theme for OS X 10\.7\+ Terminal\.app](https://github.com/tomislav/osx-terminal.app-colors-solarized) から次の2つのファイルを適当にダウンロードする
	- Solarized Dark.terminal
	- Solarized Light.terminal 
2. Terminal.app の環境設定-プロファイルを開いて、ダウンロードしたファイルを読み込ませる。

## macOSでの`ls`の結果の設定

**Bash に付いての記述**
ターミナルを Solarized にしただけでは物足りない。よく使う`ls`コマンドの結果もわかりやすく色分けされたほうが便利。しかしmacOSでは標準で使えるコマンドはBSD由来のもので設定しづらいので、まずはGNUのコマンドを導入する。

1. デフォルトの`ls`コマンド から `gls`(GNUの`ls`)に変更するためbrewを使って coreutils をインストールする。

 ``` bash
 $ brew install coreutils
 ```
2. dircolors-solarizedをリポジトリから clone する
 
  ```bash
  $ git clone https://github.com/seebi/dircolors-solarized.git ~/.dircolors-solarized
  ```
3. 次を `.bash_profile` に追加する。下の例はsolarized darkを設定する例[^1]。

 ```:.bash_profile
eval `/usr/local/opt/coreutils/libexec/gnubin/dircolors ~/.dircolors-solarized/dircolors.ansi-dark`
alias ls='gls --color=auto'
```

[^1]: Lightテーマを使うなら dircolors.ansi-dark の代わりに dircolors.ansi-light。を指定する

## Vim の設定

ググると vim の Vundle を使って設定する例が多いが、コマンドラインでのちょっとしたファイルの確認や修正に便利なので使うが、私は特にvimerでないので、Solarized テーマの設定さえできれば良いので手動で設定する。

1. [altercation/vim\-colors\-solarized: precision colorscheme for the vim text editor](https://github.com/altercation/vim-colors-solarized) を clone する
2. その中の solarized.vim を `~/.vim/colors/solarized.vim` にコピーする
 
 ```bash
 $ cd  vim-colors-solarized
 $ mkdir -p ~/.vim/colors/
 $ cp vim-colors-solarized/colors/solarized.vim ~/.vim/colors/
 ```
3. .vimrc に次を書き込む。以下はDarkテーマを設定する例[^2]。

 ```:.vimrc
 syntax enable
 set background=dark
 colorscheme solarized
 ```
 
 [^2]: Lightテーマを設定する場合は `set background=light`とする。
  
## [IntelliJ IDEA](https://www.jetbrains.com/idea/) の設定

[Android Studio](https://developer.android.com/studio/index.html?hl=ja)でも同様に設定できる。確認していないが、IntelliJをベースにしている[RubyMine](https://www.jetbrains.com/ruby/?fromMenu)や[PhpStorm](https://www.jetbrains.com/phpstorm/?fromMenu)でも同様と思われる。

### Plagin MarketPlace でインストール

IntelliJ の Plagin Marketplace で *Solarized* で検索するといくつかテーマが見つかる。
ここからインストールするのが手軽。言語により細かいところで色指定が違ったりするので試してみて好みで選ぶと良いと思う。

インストール後、*Appearance & Behavior > Appearance* で設定変更すると、ファイルツリー等含めすべて設定される。
エディタ部分だけ変更したいなら、*Editor ＞ Color Scheme* で選択する。

### Solarized Colorscheme for IntelliJ IDEA の利用

以前使っていたやり方。
細かなところで色指定が異なり好みがあるので MarketPlace から手軽にインストールする方法があるが残しておく。

1. 次のリポジトリから `settings.jar`をダウンロードする
 - [jkaving/intellij\-colors\-solarized: Solarized Colorscheme for IntelliJ IDEA](https://github.com/jkaving/intellij-colors-solarized)
2. [Import Settings]メニューを選択して、`settings.jar`を読み込ませる
3. Preferencesの[Editor]-[Colors & Fonts]を選択すると Schemeのプルダウンで Solarized Dark と Solarized Light が選択できるようになっている。

## [Atom](https://atom.io/) の設定
Atomエディタでは、テーマととしてもともと組み込まれているので、Preferencesを開いて、Settingsの [Syntax Theme]のプルダウンから選択するだけ。

## [Marxico](https://chrome.google.com/webstore/detail/marxico/kidnkfckhbdkfgbicccmdggmpgogehop?hl=ja)

[Evernote](https://evernote.com/intl/jp/)に Markdownでメモを作れるChromeアプリである Marxico。これももともとテーマが組み込まれているので、Editor Themeから選択するだけ。
ただ、見出しの色がダークピンクになるのは好みの分かれるところだと思う。（Atomでは水色となり、そのほうが見やすいと個人的には思う。）

## 補足

`ls`コマンド以外も coreutils に含まれるGNUのコマンドに置き換えるなら、次のようにPATHを追加する。

```:.bash_profile
PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"
MANPATH="/usr/local/opt/coreutils/libexec/gnuman:$MANPATH"
```

## おまけ
### `less`コマンドのシンタックスハイライト
Solarized ではないけれど、ついでなので。

1. まずは source-highlight をインストール

 ```bash
 $ brew install less source-highlight
 ```
2. 次を .bash_profile に追加。aliasは行番号も表示etcの設定。お好みで。[^3]

 ```:.bash_profile
 export LESSOPEN="| /usr/local/bin/src-hilite-lesspipe.sh %s"
 export LESS=" -R -X -F"
 alias less='less -m -N -g -i -J --underline-special --SILENT'
 ```
 
[^3]: `-R`は色付けを指示。source-highlightを使うので必須。`-X`はlessを抜けたあともターミナルに表示を残す。`-F`はターミナルにファイルをすべて表示できれば(スクロールの必要がなければ)lessを自動的に抜ける。