🙆
my .zshrc
# ==========================================
# 基本設定
# ==========================================
# システムの言語を日本語UTF-8に設定(文字化け防止)
export LANG=ja_JP.UTF-8
# ==========================================
# コマンドのショートカット設定
# ==========================================
# よく使うコマンドを短縮形で使えるようにする
alias ..='cd ..'
alias ...='cd ../..'
alias ll='ls -lGh' # 詳細リスト表示(色付き、ファイルサイズ見やすく)
alias la='ls -lGha' # 隠しファイルも含めて詳細表示
alias g='git'
alias gs='git status'
alias gst='git stash'
alias gd='git diff'
alias gdc='git diff --cached'
alias gb='git branch'
alias ga='git add'
alias gc='git commit'
alias gco='git checkout'
alias gf='git fetch'
alias gp='git push'
alias gpl='git pull'
alias gm='git merge'
alias gl='git log'
alias glo='git log --oneline'
# ==========================================
# コマンド履歴の設定
# ==========================================
# 履歴を保存するファイルの場所
HISTFILE=~/.zsh_history
# メモリに保持する履歴の件数(5万件)
HISTSIZE=50000
# ファイルに保存する履歴の件数(5万件)
SAVEHIST=50000
# 直前と同じコマンドは履歴に追加しない
setopt hist_ignore_dups
# 過去にあるコマンドと同じものは履歴から削除して最新位置に移動
setopt hist_ignore_all_dups
# 複数のターミナル間で履歴をリアルタイム共有
setopt share_history
# ==========================================
# タブ補完機能の設定
# ==========================================
# zshの補完機能を読み込んで有効化
autoload -Uz compinit
compinit -u
# Homebrewでインストールした補完定義があれば追加で読み込む
if [ -d /opt/homebrew/share/zsh-completions ]; then
fpath=(/opt/homebrew/share/zsh-completions $fpath)
fi
# 小文字で入力しても大文字のファイル名にマッチさせる(readme → README.md)
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}'
# 補完候補を縦に詰めて表示(画面を有効活用)
setopt list_packed
# 補完候補に色を付けて見やすくする
autoload colors
zstyle ':completion:*' list-colors ''
# ==========================================
# 便利機能の設定
# ==========================================
# コマンドのタイプミスを自動で修正提案(gut → git?)
setopt correct
# エラー時のビープ音を無効化(静かに作業)
setopt no_beep
# ==========================================
# ディレクトリ移動を楽にする設定
# ==========================================
# 記憶するディレクトリの履歴数
DIRSTACKSIZE=100
# cd実行時に前のディレクトリを自動で記憶(cd - で戻れる)
setopt AUTO_PUSHD
# ==========================================
# Git情報をプロンプトに表示する設定
# ==========================================
# Git情報取得機能を読み込み
autoload -Uz vcs_info
# プロンプトで変数の中身を展開できるようにする(Git情報表示に必要)
setopt prompt_subst
# Gitの変更状況をチェックする
zstyle ':vcs_info:git:*' check-for-changes true
# ステージ済みの変更がある時の表示(紫色の!マーク)
zstyle ':vcs_info:git:*' stagedstr "%F{magenta}!"
# 未ステージの変更がある時の表示(黄色の+マーク)
zstyle ':vcs_info:git:*' unstagedstr "%F{yellow}+"
# 通常時のGit情報表示フォーマット(例:+[main] = 未保存変更ありのmainブランチ)
zstyle ':vcs_info:*' formats "%F{cyan}%c%u[%b]%f"
# Git操作中の表示(例:[main|merge] = mainブランチでmerge中)
zstyle ':vcs_info:*' actionformats '[%b|%a]'
# コマンド実行前に毎回Git情報を更新
precmd () { vcs_info }
# ==========================================
# プロンプト(入力待ち表示)のカスタマイズ
# ==========================================
# プロンプトの見た目を設定
# 1行目:[ユーザー名@コンピューター名:現在のフォルダ]Git情報
# 2行目:$ (ここにコマンドを入力)
PROMPT='
[%B%F{red}%n@%m%f%b:%F{green}%~%f]%F{cyan}$vcs_info_msg_0_%f
%F{yellow}$%f '
Discussion