5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Wano GroupAdvent Calendar 2024

Day 20

CLI 操作前にzshプロンプトをいじろう

Last updated at Posted at 2024-12-20

この記事は Wano Group Advent Calendar 2024 の20日目の記事となります。
昨日のgoose で DB マイグレーションを行う には自分も助けられました。
今日もこの記事で誰かが助けられるといいなと思います。

ネタバレ

  • CLI操作時にカレントディレクトリや時間・ブランチ・編集ファイルがわからないと不便じゃないですか?それを解決します。
  • コピーしてそのまま使っちゃってください

エピソードトーク

入社直後の自分のターミナルは以下のようなものでした。

image.png
※プライバシーにかかわる部分は削除しています

黒くて格好がいいですよね。
しかし、私の逆タブラ・ラサ画面を目にした上司はこのように口走っていました。
:robot: 「見づらいんじゃない??zshプロンプトをカスタマイズしてきれいにしたらいいよ」
:dog2: 「?????」

ということでCLIのデフォルト表示をきれいにすることにしました。これが創世記です。

結果

Gitを使っていないディレクトリにいる場合

image.png
カレントディレクトリが表示されていますね。
色分けするだけでだいぶ視認性が上がります。

Gitを使っているディレクトリにいる場合

image.png
ローカルの編集なし。ブランチ名が表示されています。

image.png
ローカルの編集がある場合は、黄色の + を表示しつつブランチ名を黄色で表示するようにしています。
この文字色の変更でcommit忘れを幾度となく防ぐことに成功しました。本当に感謝

image.png
変更があり、その一部が git add されている場合、赤色の :exclamation:と黄色の + を表示しつつブランチ名が黄色になります。

image.png
変更があり、そのすべてが git add されている場合、赤色の :exclamation: を表示しつつブランチ名が赤色になります。

なにを実施したんですか?

~/.zshrc に以下の設定を加え、 source ~/.zshrc を実行しました。

# git

# vcs_infoモジュールをロードし、プロンプト内ので変数やコマンドの置換を有効化
autoload -Uz vcs_info
setopt prompt_subst

# Gitリポジトリの変更をチェック
zstyle ':vcs_info:git:*' check-for-changes true

# gitリポジトリ内の変更を検知
zstyle ':vcs_info:git:*' stagedstr "%F{magenta}!"
zstyle ':vcs_info:git:*' unstagedstr "%F{yellow}+"

# ブランチ名表示
zstyle ':vcs_info:*' formats "%F{cyan}%c%u[%b]%f"
# アクションがある場合はそれも表示
zstyle ':vcs_info:*' actionformats '[%b|%a]'
precmd () { vcs_info }

# 表示設定
# hh:mm:ss
# ユーザー名@ホスト名[カレントディレクトリ絶対パス]gitブランチ名
# $
PROMPT='
%*
%F{magenta}%B%n%b%f@%F{blue}%U%m%u%f[%F{green}%~%f]%F{cyan}$vcs_info_msg_0_%f 
%F{yellow}$%f '

以上となります。
「この設定をいじってもっと見やすいようにしたったwww」などコメントをいただけると嬉しいです。

この記事で、より多くの魂が救われることをここで祈り続けています。


TuneCore Japan では 一緒に働くメンバーを募集しています。
エンジニアだけでなく、Director等の各種ポジションをオープンしているので興味がわいた方はぜひご覧ください!


参考記事

https://ktksq.hatenablog.com/entry/mac-customize
https://webrandum.net/zsh-prompt-name/
https://tkengo.github.io/blog/2013/05/12/zsh-vcs-info/

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?