この記事はOthloTech Advent Calendar 2016の20日目の記事です。昨日は_cheezさんの【css】transform:matrix3dのちょっとしたお話でした。
これは釣りタイトルみたいなものなんで、すごい人は怒らずブラウザバックしてください。
どうもこんにちは、エンジニアと名乗るのはおこがましいレベルにはレベルが低いキンチキです。OthloTechのAdvent Calendarの記事ということで、僕はOthloTech主催の勉強会は結構参加しています。もちろんその他の勉強会にも参加することがあります。
そういう場で隣を見ると学生のターミナルはイケてないことがマジで多いので、サクッとイケてるターミナルにしようって記事です。見た目、大事。
この記事は基本Macの話です。Windowsのコマンドラインのことなんか知りません。Linux使ってる人は自分で色々やっているでしょうから、僕が教えられることはありません。
見た目を気にする
エンジニアあるあるかもしれませんが、人が使ってるエディタやIDEといったツールって気になりません? 僕はめっちゃ気になります。MacだったらDock、Windowsだったらタスクバーやデスクトップになにを置いているかも気になります。
僕はかなり形から入る人間でして、見た目をすごい気にします。自分や人の見た目ももちろんある程度気にしますが、僕がめっちゃ気になるのはエディタやIDEといった各種ツールの見た目です。
そんなわけで、勉強会行ったら隣に座ってる人の画面をちょこちょこ見るわけですよ。ツールはなに使っているのか、どんなテーマを使っているのかなと。そしてエンジニア向けの勉強会はエディタやIDEは当然で、コマンドラインを使うこともよくあります。
そこでですね、隣の人のターミナルを見ると...
だっせえええええええええええええ!!!!!
ほげえええええええええええwww!!!!!
ダサい。なにがダサいってデフォルトのありえない背景白テーマがダサいからそれっぽいHomebrew
やPro
に変えるだけで**「俺エンジニアですよ感」**出してるつもりなのがダサい。お前フォント見ろよ。Monaco
はまだしもHomebrew
のAndale Mono
ってなんだよ。つーかそのフォントサイズをなんとも思わんのか。Pro
の10ptとかマジで小さすぎて見辛いだろ。
Macの標準フォントなら思考停止でMenlo
使っときゃいいんですよ。デフォルトプロファイルのほとんどはMenlo
になってるのにエンジニアっぽいHomebrew
やPro
は違うフォントになってるのはAppleの悪意ですかね。変えましょう。
フォントはRictyなど入れるのがオススメです。見やすいからモチベーションちょっと上がります。
##テーマを変えよう
Macのターミナルのデフォルトプロファイルでまともなのものは無いと僕は思っています。そこで背景や文字の色を自分好みに設定するってのは皆さん通る道だと思います。
それも悪くないのですが、あ、やっぱ悪いです。というか大体は微妙になってしまいます。こういうデザインに関することは、それが得意な人、素養がある人に頼るのが一番です。得意な人は「自分が作ったものを使ってほしい、自分のこそ美しい」とか思ってそうなので、作ったテーマを公開します。まあそんな理由で公開してるわけではないでしょうが、そんな理由の人も少しはいるでしょう。
公開されてるテーマはおそらくあなたが自作するよりずっと綺麗で見やすいです。しかも導入はすぐに終わります。オススメテーマは**Iceberg**です。というかググったらこれがすぐに出てきます。iTermを使っている方はこちらからどうぞ。
青が良い感じですね。ダウンロードサイトもインポートの仕方も**作成者の方のブログ**に書いてあるので参考にしてください。テーマを探してるとSolarized
っていう超定番テーマを紹介してる記事が大量にヒットします。僕はSolarized
が好きじゃなく、好きじゃないのを考慮してもIceberg
の方が良いと思います。
デフォルトのプロファイルは復元できるので全て消してOKです。あんなんこういう記事書くときにしか使いません。
ちなみにVimはHybrid
にしています。iTermのVimの色を快適にした。(目に優しいデザイン)を思いっきり参考にしました。
完全に好みですが背景は半透明にするとカッコイイです。中二病をくすぐられます。ターミナルの場合は環境設定>プロファイル>背景>不透明度
で変えられます。ブラーっていうのが高いとボヤケます。どちらもお好みの強さにしましょう。
##シェルも変えよう
ほとんどの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でもリダイレクトでもなんでもいいです。
/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のデフォルトのプロンプトです。
だっせえええええええええええええ!!!!!
つーかみづれええええええええええ!!!!!
え、なにこれ。意味がわからん。デフォルトがこれってシェルのデフォルト設定決めたAppleのエンジニアのセンス疑うわマジで。
カレントディレクトリは必要です。その左、**こいつはいったいなんなんだ。こんな情報誰が必要なんだ。**コンピュータ名とかローカルではマジでいらないんですが。というかユーザー名もMacのログインユーザーのときはいりません。必要な人はいるんでしょうが、ローカルPCでは少数派な気がします。
あと出力(コマンドの結果とか)とプロンプトの間に一行欲しいです。非常にわかりづらいです。Windowsのコマンドプロンプトはデフォルトで一行空いてますよね。あれにしたいです。
プロンプトのカスタマイズは普通にシェルの設定ファイルに書けば好きなようにできます。でも僕はほとんど調べたことないのでわかりません。自分でカスタマイズしたい人は調べてください。
で、僕はテーマと同様に誰かが作ってくれた**pure**っていうイケてるプロンプトを使っています。
二行プロンプトですね。出力とプロンプトに一行空きがあるため大変見やすいです。また、カレントディレクトリ(のパス)とGitの情報以外は多分表示されないです。無駄な情報が無いって良いですね。
僕はpure
だけを入れて使っているのではなくPreztoというフレームワークの設定でpure
を使用しています。僕はシェルに詳しくないのですが、Prezto
やoh-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
のプロンプトのテーマをpureにするだけです。:prezto:module:prompt
で検索して、プロンプトの設定場所を探してください。
zstyle ':prezto:module:prompt' theme 'sorin'
の theme
の箇所を pure
にします。
#
# Prompt
#
# 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'
ついでに補完とシンタックスハイライトのモジュールも有効にしておきましょう。設定場所はファイルの最初の方にあります。
'syntax-highlighting' \
と 'autosuggestions' \
を 'prompt' \
の上に記載するだけです。なにかの理由で prompt
の上に書かないといけなかった記憶があります(気のせいかも)。
# 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によるとautosuggestions
はsyntax-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はPrezto
やautosuggestions
以外にもたくさんのプラグインがあります。mollifierさんのzshの外部プラグインまとめという記事で非常に見やすくまとめられています。ぜひご覧ください。
##おわりに
たったこれだけの作業でターミナルがかなりイケてる感じになったかと思います。モチベーションが上がったり、周りからどう見られるかだったりと、やはり見た目は大事だと僕は考えています。
できるだけ自分もツールもイケてる見た目にしていきましょう! 特に自分の見た目には気を使わないと**「これだから情報系のキモオタデブコミュ障ニートは…」**となってしまい自分が属している分野自体の評価が下がりかねませんからね。
明日はryota_m1020さんの彼女がいないなら創ればいいじゃない.人工彼女を創るためのAI入門です。レベル高そうですしなにより面白そうですね。お楽しみに。
ターミナルの見た目とか人工知能とか正直どうでもいいから僕に彼女をください。