Zshは、Bashを初めとした多くのシェルの機能を取り込んだ非常に多機能なシェルです。
多くのLinuxディストリビューションで使用できるだけではなく、macOSではデフォルトのシェルとして採用されていることもあり、Zshを愛用している方は多いかもしれません。
本日紹介する「Mastering Zsh」は、このZashを使いこなすのに役立つ上級テクニックを解説するドキュメントです。
基本的なコマンドラインの使い方に精通しているユーザー向けに、Zshの高度な使い方やカスタマイズ方法、実践的な例を紹介しています。
目次
履歴やプロンプトの強化方法が理解できる!
Mastering Zshの目次は以下の通りです。
Zshを使いこなすために役立つ情報が、大きく「設定」「ヘルパー」「使用方法」「その他」という項目にわけられて紹介されています。その中の例えば「設定」では、「一般」「履歴」「プロンプト」「hooks」といった情報を知ることができます。
Zshの便利な機能である履歴に関しては、使い勝手を改善することができる以下のようなシェルオプションが紹介されています。
setopt EXTENDED_HISTORY # Write the history file in the ':start:elapsed;command' format. setopt INC_APPEND_HISTORY # Write to the history file immediately, not when the shell exits. setopt SHARE_HISTORY # Share history between all sessions. setopt HIST_EXPIRE_DUPS_FIRST # Expire a duplicate event first when trimming history. setopt HIST_IGNORE_DUPS # Do not record an event that was just recorded again. setopt HIST_IGNORE_ALL_DUPS # Delete an old recorded event if a new event is a duplicate. setopt HIST_FIND_NO_DUPS # Do not display a previously found event. setopt HIST_IGNORE_SPACE # Do not record an event starting with a space. setopt HIST_SAVE_NO_DUPS # Do not write a duplicate event to the history file. setopt HIST_VERIFY # Do not execute immediately upon history expansion. setopt APPEND_HISTORY # append to history file setopt HIST_NO_STORE # Don't store history commands
またプロンプトに関してはZshの特徴である「RPROMPT」(右側に表示されるプロンプトです)に、時刻やGitリポジトリの情報を表示する方法が掲載されています。
# Show time on the right side of the screen $ export RPROMPT='%t' # show git repo info in your prompt export RPROMPT='$vcs_info_msg_0_'
RPROMPT以下の画像のようにカレントディレクトリの情報を表示することもできます。
Mastering Zshにはその他に多くの役に立つ情報が掲載されています。
まとめ
Mastering Zshを読むことでZshをさらに使いこなすための情報を知ることができます。oh-my-zshや、preztoを導入するのは気が進まないものの、Zshのもっと便利な機能を使いたいと思っている方は参照してみてはいかがでしょうか。