この記事はOthloTech Advent Calendar 2016の20日目の記事です。昨日は_cheezさんの【css】transform:matrix3dのちょっとしたお話でした。

これは釣りタイトルみたいなものなんで、すごい人は怒らずブラウザバックしてください。

どうもこんにちは、エンジニアと名乗るのはおこがましいレベルにはレベルが低いキンチキです。OthloTechのAdvent Calendarの記事ということで、僕はOthloTech主催の勉強会は結構参加しています。もちろんその他の勉強会にも参加することがあります。

そういう場で隣を見ると学生のターミナルはイケてないことがマジで多いので、サクッとイケてるターミナルにしようって記事です。見た目、大事。

この記事は基本Macの話です。Windowsのコマンドラインのことなんか知りません。Linux使ってる人は自分で色々やっているでしょうから、僕が教えられることはありません。

見た目を気にする

エンジニアあるあるかもしれませんが、人が使ってるエディタやIDEといったツールって気になりません? 僕はめっちゃ気になります。MacだったらDock、Windowsだったらタスクバーやデスクトップになにを置いているかも気になります。

僕はかなり形から入る人間でして、見た目をすごい気にします。自分や人の見た目ももちろんある程度気にしますが、僕がめっちゃ気になるのはエディタやIDEといった各種ツールの見た目です。

そんなわけで、勉強会行ったら隣に座ってる人の画面をちょこちょこ見るわけですよ。ツールはなに使っているのか、どんなテーマを使っているのかなと。そしてエンジニア向けの勉強会はエディタやIDEは当然で、コマンドラインを使うこともよくあります。

そこでですね、隣の人のターミナルを見ると...

1.png

だっせえええええええええええええ!!!!!

2.png

ほげえええええええええええwww!!!!!

ダサい。なにがダサいってデフォルトのありえない背景白テーマがダサいからそれっぽいHomebrewProに変えるだけで「俺エンジニアですよ感」出してるつもりなのがダサい。お前フォント見ろよ。MonacoはまだしもHomebrewAndale Monoってなんだよ。つーかそのフォントサイズをなんとも思わんのか。Proの10ptとかマジで小さすぎて見辛いだろ。

3.png

Macの標準フォントなら思考停止でMenlo使っときゃいいんですよ。デフォルトプロファイルのほとんどはMenloになってるのにエンジニアっぽいHomebrewProは違うフォントになってるのはAppleの悪意ですかね。変えましょう。

フォントはRictyなど入れるのがオススメです。見やすいからモチベーションちょっと上がります。

テーマを変えよう

Macのターミナルのデフォルトプロファイルでまともなのものは無いと僕は思っています。そこで背景や文字の色を自分好みに設定するってのは皆さん通る道だと思います。

それも悪くないのですが、あ、やっぱ悪いです。というか大体は微妙になってしまいます。こういうデザインに関することは、それが得意な人、素養がある人に頼るのが一番です。得意な人は「自分が作ったものを使ってほしい、自分のこそ美しい」とか思ってそうなので、作ったテーマを公開します。まあそんな理由で公開してるわけではないでしょうが、そんな理由の人も少しはいるでしょう。

公開されてるテーマはおそらくあなたが自作するよりずっと綺麗で見やすいです。しかも導入はすぐに終わります。オススメテーマはIcebergです。というかググったらこれがすぐに出てきます。iTermを使っている方はこちらからどうぞ

5.png

青が良い感じですね。ダウンロードサイトもインポートの仕方も作成者の方のブログに書いてあるので参考にしてください。テーマを探してるとSolarizedっていう超定番テーマを紹介してる記事が大量にヒットします。僕はSolarizedが好きじゃなく、好きじゃないのを考慮してもIcebergの方が良いと思います。

デフォルトのプロファイルは復元できるので全て消してOKです。あんなんこういう記事書くときにしか使いません。

6.png

ちなみにVimはHybridにしています。iTermのVimの色を快適にした。(目に優しいデザイン)を思いっきり参考にしました。

7.png

完全に好みですが背景は半透明にするとカッコイイです。中二病をくすぐられます。ターミナルの場合は環境設定>プロファイル>背景>不透明度で変えられます。ブラーっていうのが高いとボヤケます。どちらもお好みの強さにしましょう。

8.png

9.png

シェルも変えよう

ほとんどのUnix系OSのログインシェル(デフォルトのシェル)はbashです。別にbashはダメではなくカスタマイズすれば使いやすいのでしょうが、そんなことするならとっととzshやfishに変えましょう。

技術力があるエンジニアはzshを使ってる人が多い印象です。めちゃ便利ですよzsh。僕はシェルに詳しいわけでも技術力があるわけでもないですが、それでもzshは超絶便利だと思わせてくれます。

正直使いやすかったらシェルなんてなんでもいいと思っていますが、使いやすくしやすいのがzshやfishという印象です。

せっかく見た目がイケてるようになったら、その中身のシェルもイケてるものを使いたいですよね。ということでbashからzshに移行しましょう。以下のコマンドでログインシェルをzshに変更します。多分パスワード聞かれるのでMacのユーザーパスワードを入力してください。

$ chsh -s /bin/zsh

もしHomebrewで新しいzsh入れて使いたい場合、まずHomebrewのデータを最新にしてから普通にインストールします。

$ brew update
$ brew install zsh

Macは--disable-etcdirオプション付けたbrew install --disable-etcdir zshでインストールしないとパスがどうのこうのと問題あるらしいのですが、僕はオプション無しでインストールしてなにも困ってないです。

インストールしたら/etc/shellsにzshのパス/usr/local/bin/zshを追加します。VimでもEmacsでもnanoでもリダイレクトでもなんでもいいです。

/etc/shells
/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
# 追加
/usr/local/bin/zsh

そしてログインシェルを変更します。

$ chsh -s /usr/local/bin/zsh

ターミナルを再起動すればzshが起動しています。

プロンプトも変えよう

これはMacのbashのデフォルトのプロンプトです。
10.png

だっせえええええええええええええ!!!!!
つーかみづれええええええええええ!!!!!

え、なにこれ。意味が分からん。デフォルトがこれってシェルのデフォルト設定決めたAppleのエンジニアのセンス疑うわマジで。

カレントディレクトリは必要です。その左、こいつはいったいなんなんだ。こんな情報誰が必要なんだ。コンピュータ名とかマジでいらないんですが。というかユーザー名もいりません。必要な人はいるんでしょうが、少数派な気がします。

あと出力(コマンドの結果とか)とプロンプトの間に一行欲しいです。非常に分かりづらいです。Windowsのコマンドプロンプトはデフォルトで一行空いてますよね。あれにしたいです。

プロンプトのカスタマイズは普通にシェルの設定ファイルに書けば好きなようにできます。でも僕はほとんど調べたことないので分かりません。自分でカスタマイズしたい人は調べてください。

で、僕はテーマと同様に誰かが作ってくれたpureっていうイケてるプロンプトを使っています。

11.png

二行プロンプトですね。出力とプロンプトに一行空きがあるため大変見やすいです。また、カレントディレクトリ(のパス)とGitの情報以外は多分表示されないです。無駄な情報が無いって良いですね。

僕はpureだけを入れて使っているのではなくPreztoというフレームワークの設定でpureを使用しています。僕はシェルに詳しくないのですが、Preztooh-my-zshを導入するだけで簡単にそこそこ快適な環境ができあがります。コマンドライン初心者は、まずフレームワークを入れて、慣れたら自分でゴリゴリカスタマイズするのがいいかなと。

ということでサクッとPreztoを入れてプロンプトをpureにしましょう。zshが起動している状態で以下の二つのコマンドとシェルスクリプトを入力してターミナル(zsh)を再起動すればOKです。

$ git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"

$ setopt EXTENDED_GLOB
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
  ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
done

再起動した時点でプロンプトがかなり変わっています。tabの補完も大分変わっています。あとは~/.zpreztorcの95行目辺りを編集してプロンプトをpureにするだけです。

~/.zpreztorc
# Set the prompt theme to load.
# Setting it to 'random' loads a random theme.
# Auto set to 'off' on dumb terminals.
zstyle ':prezto:module:prompt' theme 'pure' # ここを変更

ついでに補完とシンタックスハイライトのモジュールも有効にしておきましょう。

~/.zpreztorc
# Set the Prezto modules to load (browse modules).
# The order matters.
zstyle ':prezto:load' pmodule \
  'environment' \
  'terminal' \
  'editor' \
  'history' \
  'directory' \
  'spectrum' \
  'utility' \
  'completion' \
  'syntax-highlighting' \ # 追加
  'autosuggestions' \ # 追加
  'prompt' \

最後に編集した.zpreztorcを以下のコマンドで読み込むかターミナルを再起動すればOKです。

$ source ~/.zpreztorc

preztoのモジュール一覧と説明はGitHubのprezto/modulesで確認できます。

autosuggestionsのREADMEによるとautosuggestionssyntax-highlightingの後に記述されていないとダメらしいです。

If this module is used in conjuncture with the syntax-highlighting module, it must be loaded after it.
If this module is used in conjuncture with the history-substring-search module, it must be loaded after it.

autosuggestionsの補完はテーマによっては超絶見辛いので注意してください。

Preztoのインストール方法は僕のブログでXcodeの導入からRictyの入れ方までかなり詳しく説明しています。ただし、様々なことを説明しすぎてかえって分かりづらいかもしれません。基本コマンドもよくわかっていない...黒い画面怖い...って人にはオススメです。

zshはPreztoautosuggestions以外にもたくさんのプラグインがあります。mollifierさんのzshの外部プラグインまとめという記事で非常に見やすくまとめられています。ぜひご覧ください。

おわりに

たったこれだけの作業でターミナルがかなりイケてる感じになったかと思います。モチベーションが上がったり、周りからどう見られるかだったりと、やはり見た目は大事だと僕は考えています。

できるだけ自分もツールもイケてる見た目にしていきましょう! 特に自分の見た目には気を使わないと「これだから情報系のキモオタデブコミュ障ニートは…」となってしまい自分が属している分野自体の評価が下がりかねませんからね。

明日はryota_m1020さんの彼女がいないなら創ればいいじゃない.人工彼女を創るためのAI入門です。レベル高そうですしなにより面白そうですね。お楽しみに。

ターミナルの見た目とか人工知能とか正直どうでもいいから僕に彼女をください。

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.