【開発ナレッジ】Oh My Zsh カスタマイズ - j-komatsu/myCheatSheet GitHub Wiki
Oh My Zsh カスタマイズ大全(Mac & Java開発向け)
🚀 概要
このページでは、Mac で Java 開発を行うベテランエンジニア向けに Oh My Zsh の高度なカスタマイズ方法 を紹介します。
コピペすればすぐに使える .zshrc
設定を網羅 しているので、即戦力として活用できます。
🎨 Powerlevel10k の導入(高機能プロンプト)
brew install romkatv/powerlevel10k/powerlevel10k
echo 'ZSH_THEME="powerlevel10k/powerlevel10k"' >> ~/.zshrc
source ~/.zshrc
p10k configure
について
📌 Powerlevel10k をインストールしたら、p10k configure
を実行することで詳細なプロンプト設定が可能 です。
p10k configure
🔹 p10k configure
でできること
- プロンプトの見た目を選択(シンプル、カラフル、ミニマルなど)
- プロンプトの表示速度を最適化
- Gitブランチやバッテリー情報の表示設定
- 特殊フォント(Nerd Fonts)の適用確認
p10k configure
実行時の画面イメージ
🛠 Powerlevel10k configuration wizard
(1) Classic Prompt
(2) Lean Prompt
(3) Rainbow Prompt
(4) Pure Prompt
(5) Custom
Please select your preferred prompt style: [1-5]
📝 推奨設定
- (1) Classic Prompt → デフォルトのシンプルな表示
- (2) Lean Prompt → 余計な装飾を減らした軽量版(オススメ)
- (3) Rainbow Prompt → 色付きで視認性を高めたバージョン
- (4) Pure Prompt → Minimal でシンプルなプロンプト
- (5) Custom → 細かくカスタマイズ可能
p10k configure
に関するFAQ
❓ Q1. p10k configure
を実行しなくてもいい?
➡ Yes! そのままでも動作しますが、デフォルト設定になります。見た目を変更したい場合は実行を推奨。
Q2. 一度設定したけど変更したくなったら?
➡ .p10k.zsh
を削除すれば再設定可能:
rm ~/.p10k.zsh
p10k configure
Q3. Nerd Fonts(特殊フォント)が適用されない! ➡ iTerm2, Warp などのターミナルでフォントを変更する必要あり
- iTerm2 の場合 →
Preferences > Profiles > Text
からMesloLGS NF
を選択 - Warp の場合 →
Settings > Appearance > Font
からMesloLGS NF
を選択
.zshrc
のカスタマイズ(コピペ用)
🔧 # ==========================
# Oh My Zsh 高度なカスタマイズ
# ==========================
# Zshの履歴を強化(重複削除 & サイズ拡張)
HISTSIZE=100000
SAVEHIST=100000
HISTFILE=~/.zsh_history
setopt HIST_IGNORE_ALL_DUPS # 重複履歴を削除
setopt SHARE_HISTORY # 複数ターミナル間で履歴共有
# プラグイン設定
plugins=(
git
fzf
zoxide
java
mvn
docker
kubectl
gradle
)
# `ls` を `exa` に変更(見やすい表示)
alias ls='exa -l --icons'
alias ll='exa -al --icons'
alias tree='exa -T'
# `cat` を `bat` に変更(シンタックスハイライト)
alias cat='bat'
# `grep` を `ripgrep` に変更(高速検索)
alias grep='rg'
# `cd` を `zoxide` に変更(ディレクトリ移動を爆速化)
eval "$(zoxide init zsh)"
alias j='z' # `j` でディレクトリジャンプ
# ファイル操作・ディレクトリ管理
# pwd を強調表示付きに
alias pwd='echo -e "\033[1;32m$(command pwd)\033[0m"'
# cp を確認付きで(上書き確認)
alias cp='cp -i'
# mv を確認付きで
alias mv='mv -i'
# rm を確認付きで(安全)
alias rm='rm -i'
# mkdir を親ディレクトリも一緒に作成するように
alias mkdir='mkdir -p'
# rmdir は確認付きで(空でない場合エラー)
alias rmdir='rmdir -v'
# ファイル閲覧・検索
# find のラッパー(わかりやすいオプション付き)
alias ffind='find . -name'
# grep は ripgrep を使って高速化
alias grep='rg'
# head と tail にカラー付きパイプを追加可能
alias head='head -n 20'
alias tail='tail -n 20'
# sort, uniq, wc はそのままでもよいが、例として
alias countuniq='sort | uniq -c | sort -nr'
# アーカイブ・転送
# tar のよく使うパターン
alias untar='tar -xvzf'
alias maketar='tar -cvzf'
# curl のシンプル化
alias curljson='curl -H "Content-Type: application/json" -X POST'
# wget がなければ curl をエミュレート
alias wget='curl -O'
# scp の省略系
alias scpget='scp user@host:/path/to/file ./'
alias scpput='scp ./file user@host:/path/to/dir/'
# rsync によるミラー同期
alias sync='rsync -avz --progress'
# システム管理・モニタリング
# chmod のショートカット
alias chmodx='chmod +x'
# chown 確認付き
alias chown='chown -v'
# df, du をより人間に優しく
alias df='df -h'
alias du='du -h -d 1'
# top を htop または btop に差し替え
alias top='btop'
# ps を列追加して見やすく
alias psg='ps aux | grep -v grep | grep -i'
# kill にプロセス名で簡易指定
function pkillname() {
ps aux | grep "$1" | grep -v grep | awk '{print $2}' | xargs kill -9
}
# ネットワーク関連
# ping の回数を制限して高速化
alias ping='ping -c 5'
# ifconfig → ip に切り替え(Mac用の場合 `ip` は未対応)
alias myip="ipconfig getifaddr en0"
# netstat の代わりに lsof を活用(要インストール)
alias ports='lsof -i -P -n | grep LISTEN'
# DNS調査
alias dnslookup='dig +short'
alias dnsdetail='dig +nocmd any +multiline +noall +answer'
# 日時・システム状態
# 現在の日時をフォーマット付きで表示
alias now='date "+%Y-%m-%d %H:%M:%S"'
# uptime をシンプル表示
alias uptime='uptime | cut -d "," -f1'
# メモリ情報
alias meminfo='vm_stat'
# システム統計
alias sysstats='vm_stat && iostat && uptime'
# `git` を `lazygit` で強化(ターミナルGit UI)
alias lg='lazygit'
# Java & Maven 環境変数
export JAVA_HOME=$(/usr/libexec/java_home -v 17)
export PATH="$JAVA_HOME/bin:$PATH"
export MAVEN_OPTS="-Xms512m -Xmx2g"
# Docker Compose のエイリアス
alias dc='docker compose'
# Git コマンド短縮
alias gs='git status'
alias ga='git add'
alias gc='git commit -m'
alias gp='git push'
alias gl='git log --oneline --graph --decorate --all'
# Powerlevel10k の設定適用
[ ! -f ~/.p10k.zsh ](/j-komatsu/myCheatSheet/wiki/-!--f-~/.p10k.zsh-) || source ~/.p10k.zsh
📌 まとめ
- Oh My Zsh + Powerlevel10k で快適なプロンプトを実現
ls
,cat
,grep
,cd
などを代替ツールで強化- Java開発向けの環境変数やエイリアスを最適化
- Git、Docker、Kubernetes などのエイリアスを設定
.zshrc
にコピペすれば即使える設定を提供
Mac & Java 開発において、ターミナル操作を高速化し、生産性を向上させる設定をまとめました!🚀