⌨️
Macのターミナルをカスタマイズする
brew install git fzf
$(brew --prefix)/opt/fzf/install --key-bindings --completion --no-update-rc
vi ~/.zshrc
下記の内容を書き込む
.zshrc
# プロンプトの表示設定
autoload -Uz vcs_info
precmd() {
vcs_info
if git rev-parse --is-inside-work-tree >/dev/null 2>&1; then
if [[ -n $(git status --porcelain 2>/dev/null) ]]; then
VCS_MODIFIED="*"
else
VCS_MODIFIED=""
fi
else
VCS_MODIFIED=""
fi
}
setopt prompt_subst
zstyle ':vcs_info:git:*' formats '[%b]'
zstyle ':vcs_info:git:*' actionformats '[%b|%a]'
PROMPT=$'%F{cyan}%D{%Y-%m-%d %H:%M:%S}%f %F{green}%n@%m%f:%F{blue}%~%f ${vcs_info_msg_0_}${VCS_MODIFIED}\n%# '
# 履歴設定
HISTFILE=~/.zsh_history
HISTSIZE=10000
SAVEHIST=10000
setopt INC_APPEND_HISTORY # 実行ごとに履歴保存
setopt EXTENDED_HISTORY # 実行時間なども保存
setopt SHARE_HISTORY # 複数のzsh間で履歴共有
# fzf(Fuzzy Finder)
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
# エイリアス・関数
alias gb="git branch -a | grep -v HEAD | sed 's#remotes/##' | fzf | sed 's#origin/##' | xargs -I {} git switch {} || git switch -c {} origin/{}"
alias gbl="git branch | sed 's/..//' | fzf | xargs git switch"
gbr() {
local branch
branch=$(git branch -r | grep -v HEAD | fzf | sed 's#^ *origin/##')
if [ -n "$branch" ]; then
git switch -c "$branch" "origin/$branch"
fi
}
gbrm() {
local branch
branch=$(git branch | sed 's/..//' | fzf)
if [ -n "$branch" ]; then
git branch -d "$branch"
fi
}
alias gcm='git commit -m'
alias gs='git status'
alias drm='docker stop $(docker ps -aq) && docker rm $(docker ps -aq) && docker rmi $(docker images -q)'
dcup() {
local service="$1"
if [ -z "$service" ]; then
service="app"
fi
docker-compose up --build -d && docker-compose exec "$service" zsh
}
source ~/.zshrc
下記の見た目になります
Discussion