.zshrcをメモしておくだけの記録

.zshrcをメモしておくだけの記録

June 28, 2021

万が一、削除してしまった時のために .zshrc をここにメモしておく。それだけ。

保存という意味では GitHub にあげておけば良いのだが、そんなことをするまでもないと思ったのでここに記録。(私の中だと、ブログ記事よりも GitHub の方がより重要な資産を置く場所という感覚があるのですが、普通逆ですかね?)

なお .zshrc にそれほど詳しいわけではないので、もしコメント内容の意味が間違っていたらすみません。

.zshrc #

# エイリアスの設定
alias ls='ls -G'
alias ll='ls -l'
alias la='ls -a'
alias lla='ls -la'
alias ..='cd ..'
alias ...='cd ../..'
alias ....='cd ../../..'
alias gs='git status'
alias glg='git log --graph --oneline --decorate'

# ヒストリや補完の設定
HISTSIZE=10000 # メモリに保存されるヒストリの上限数
SAVEHIST=10000 # 履歴ファイルに保存されるヒストリの上限数
setopt hist_ignore_dups # 直前と同じコマンドはヒストリに追加しない
setopt hist_ignore_all_dups # 重複するヒストリは古い方を削除する
setopt hist_reduce_blanks # 余分な空白を詰めてヒストリを記録する
setopt share_history # 複数のターミナルを開いているときにヒストリを共有
autoload -U compinit # 補完定義のロード
compinit -u # ロードした補完定義の適用
setopt auto_menu # タブで補完候補を表示する
setopt auto_list # 補完候補が複数ある場合に一覧表示する
setopt menu_complete # 補完候補が複数ある場合にすぐに最初の候補を補完する
setopt list_packed # 補完候補を詰めて表示する
zstyle ':completion:*:default' menu select # 補完候補から矢印キーで選択できるようにする
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}' # 補完時に大文字小文字を区別しない
DIRSTACKSIZE=100 # ディレクトリスタックの上限数
setopt auto_pushd # cdしたときに自動でpushdしてディレクトリスタックに積む cd -[TAB]でディレクトリスタックを表示
setopt pushd_ignore_dups # ディレクトリスタックから重複を削除する
setopt pushd_minus # キューではなくスタック方式でディレクトリスタックを番号付け(最近居た場所が上にくる)
# setopt auto_cd # ディレクトリ名だけでcdする

# 表示の設定
### 色表示(ディレクトリはシアン、シンボリックリンクはイエロー、実行可能ファイルはレッド)
export LSCOLORS=gxcxxxxxbxxxxxxxxxgxgx # BSD系(MacOS等)で使われる設定(GNU/Linux系(CentOS/Debian等)だとLS_COLORSになる)
zstyle ':completion:*' list-colors 'di=36' 'ln=93' 'ex=31' # コマンド補完時の色
### Gitのブランチ表示
autoload -Uz vcs_info # バージョン管理システムから情報を取得し、その値を$vcs_info_msg_0_という変数に格納する
setopt prompt_subst # プロンプトを表示する際に変数展開する(これが無いと変数も文字列として表示されてしまう)
zstyle ':vcs_info:*' formats "%F{green}[%b]%f" # vcs_infoの表示形式(内容)を指定(%bで現在のブランチを表示)
precmd () { vcs_info } # precmd関数はプロンプトが表示される度に実行され、この関数内でvcs_infoを呼び出すことでvcs_infoが毎回情報を取得する
### プロンプト表示
PROMPT="%F{magenta}[%~]%f\$vcs_info_msg_0_ %# " # カレントディレクトリをホームディレクトリからのパスで表示しつつvcs_infoの情報を追加表示