理系学生日記

おまえはいつまで学生気分なのか

忍者TOOLS

zshのターミナル環境を変更したらモチベーションアップした

雑談ネタです。

4 月に入り、自宅の Mac をクリーンインストールし直しました。 最近どうも多忙にかまけてしまい、この Blog も含めて自宅での IT 関連のモチベーションが湧かない状況でした。全てを一新することで、もう一度あの熱い想いを思い出せないか、というのが動機です。

それに伴い、Terminal 環境も一新したいなと思いまして、久しぶりに zshrc 等をいじりました。平成は、はてなにもこういうネタ多かったよね。最近見ない気がするけどね。懐古厨かしら…。

それで、これまでは liquid-prompt を使っていたんですが、今回はやっぱり powerline ベースにしたいなということで alien を使いはじめました。

変更した Terminal はこちら。

f:id:kiririmode:20190504081950p:plain

プラグイン入れるだけでプロンプト綺麗にできるの楽で良いですね。昔は man zshall とか本とか読みまくって、無限に時間を溶かしていた…。

zshの本 (エッセンシャルソフトウェアガイドブック)

zshの本 (エッセンシャルソフトウェアガイドブック)

フォントのインストール

フォントは Ricty にしました。 Brewfile に以下を追加して、powerline 対応パッチ済 Ricty をインストール。

  • `brew 'sanemat/font/ricty', args: ['--with-powerline']

その後、fc-cache 実行します。

$ cp -f /usr/local/opt/ricty/share/fonts/Ricty*.ttf ~/Library/Fonts/
$ fc-cache -vf

zplug の導入

zsh の plugin manager をこれまで使っていなかったんですが、すごく良さそう(使うの楽そうだしきれいに管理できそう)なので、zplug を使うようにしました。

導入はワンライナー。

$ curl -sL --proto-redir -all,https https://raw.githubusercontent.com/zplug/installer/master/installer.zsh | zsh

あとは、zshrc 経由で以下のスクリプトを呼び出すようにすれば、 alien のインストールと設定は完了です。

export ZPLUG_HOME=$HOME/.zplug
source $ZPLUG_HOME/init.zsh

#
# alien theme
#
zplug "eendroroy/alien"
# 左側のプロンプト
export ALIEN_SECTIONS_LEFT=(
  exit
  user
  path
  vcs_branch:async
# 以下のエラーメッセージが出力されるのでコメントアウト
# fatal: ambiguous argument 'master...@u': unknown revision or path not in the working tree.
# Use '--' to separate paths from revisions, like this:
#
# vcs_status:async
  vcs_dirty:async
  newline
  ssh
  venv
  prompt
)

# 右側のプロンプト
export ALIEN_SECTIONS_RIGHT=(
  battery
  time
)

# Install plugins if there are plugins that have not been installed
if ! zplug check --verbose; then
    printf "Install? [y/N]: "
    if read -q; then
        echo; zplug install
    fi
fi
# Then, source plugins and add commands to $PATH
zplug load --verbose

他にインストールしたプラグイン

最近 zsh を全然いじっていなかったので何がなんだか…という感じですが、良さげなプラグインをいくつか導入しました。

  • zsh-autosuggestions
    • history を使って、入力中のコマンドの補完を行ってくれる。reverse-i-search 使うからあんまり有用じゃないんだけど見た目がかっこいい。
    • 誤入力したコマンドも補完しちゃうんで、これはなんとかしたい。
  • zsh-completions
    • スーパー補完機能
  • zsh-syntax-highlight
  • anyframe
    • peco、fsf、percol といった補完系コマンドの差異を吸収してくれるとともに、それらを利用したコマンドを簡単に書くことができるようになる。
    • ghq に最初から対応してくれていて良い

感想

新鮮な気分になり、とにかく Terminal に触りたくなったりして、エントリを書く情熱が湧いてきました。 というわけで、モチベーションアップに Terminal 環境の変更は有効な方策という感じ。