【開発ナレッジ】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 でできること

  1. プロンプトの見た目を選択(シンプル、カラフル、ミニマルなど)
  2. プロンプトの表示速度を最適化
  3. Gitブランチやバッテリー情報の表示設定
  4. 特殊フォント(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 などのターミナルでフォントを変更する必要あり

  1. iTerm2 の場合Preferences > Profiles > Text から MesloLGS NF を選択
  2. 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 開発において、ターミナル操作を高速化し、生産性を向上させる設定をまとめました!🚀