【開発ナレッジ】WindowsでのZsh Oh My Zsh Powerlevel10k環境構築手順(WSL向け) - j-komatsu/myCheatSheet GitHub Wiki

WindowsでのZsh + Oh My Zsh + Powerlevel10k環境構築手順(WSL向け)

🧭 対象者

  • Windows 10 / 11 を使っているエンジニア
  • .zshrc ベースのカスタマイズを Windows 上で実現したい方
  • WSL(Windows Subsystem for Linux)を使って Linux 開発環境を構築したい方

🚀 構築の全体フロー(Mermaid フローチャート)

graph TD;
    A[WSLを有効化] --> B[Linuxディストリビューションをインストール]
    B --> C[Zshをインストール]
    C --> D[Oh My Zshを導入]
    D --> E[Powerlevel10kを導入]
    E --> F[フォント設定(MesloLGS NF)]
    F --> G[必要なツールを導入(exa, bat, fzfなど)]
    G --> H[`.zshrc` カスタマイズを適用]

✅ ステップ1:WSLの有効化

# PowerShell(管理者権限)で実行
wsl --install

🔍 確認方法

  • 再起動後、自動的に Ubuntu 等の Linux ディストリビューションの初期セットアップ画面が表示されます。
  • cmd または Windows Terminal を開いて、以下を実行:
wsl
  • 表示が user@xxxx:~$ のようになれば WSL に入れています。

✅ ステップ2:Linux上でZsh環境を整備

sudo apt update && sudo apt install zsh git curl -y
chsh -s $(which zsh)

🔍 確認方法

zsh --version
echo $SHELL
  • zsh 5.x.x のように表示されればOK。
  • $SHELL の出力が /usr/bin/zsh になっていればログインシェルとして設定済みです。

✅ ステップ3:Oh My Zsh のインストール

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

🔍 確認方法

  • ~/.oh-my-zsh フォルダが作成されていれば成功
ls ~/.oh-my-zsh

✅ ステップ4:Powerlevel10k のインストール

git clone --depth=1 https://github.com/romkatv/powerlevel10k.git \
  ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/themes/powerlevel10k

.zshrc に以下を追加:

ZSH_THEME="powerlevel10k/powerlevel10k"

反映:

source ~/.zshrc

初回に以下を実行してプロンプトをカスタマイズ:

p10k configure

🔍 確認方法

ls ~/.oh-my-zsh/custom/themes/powerlevel10k
  • README.md, powerlevel10k.zsh-theme などがあればOK

✅ ステップ5:フォント設定(MesloLGS NF)

Powerlevel10k を正しく表示するには Nerd Font が必要です。

1. MesloLGS NF フォントをダウンロード&インストール

以下のリンクから、4種類のフォントファイル(*.ttf)をそれぞれダウンロードしてください:

🔗 MesloLGS NF フォント一覧

  • MesloLGS NF Regular.ttf
  • MesloLGS NF Bold.ttf
  • MesloLGS NF Italic.ttf
  • MesloLGS NF Bold Italic.ttf

⬇ 各ファイルを右クリック →「インストール」を選択。

2. Windows Terminal の設定を変更

✅ 操作手順:

  1. Windows Terminal を起動(スタートメニューから「Windows Terminal」と検索)
  2. 上部タブ右の「▼」から 設定 を選択
  3. 左側の「プロファイル」一覧から Ubuntu を選択
  4. 「外観」セクションをクリック
  5. 「フォントフェイス」欄に MesloLGS NF と入力(正確に)
  6. 保存して閉じる

フォント名を正しく入力(MesloLGS NF)しないと反映されません。

💡 Windows Terminal が見つからない場合

以下のいずれかの方法でインストールできます:

  • Microsoft Store からインストール

    • スタートメニューから「Microsoft Store」を開き、「Windows Terminal」で検索 → 「インストール」
  • 公式GitHubリリースページからインストール

  • 代替手段として wsl.exe を直接使用

    • cmd から wsl と入力して WSL に入ったあと、そのまま zsh を使うことも可能です(ただしPowerlevel10kの表示は不完全になる可能性あり)

フォント名を正しく入力(MesloLGS NF)しないと反映されません。

🔍 確認方法

  • ターミナルを再起動し、Powerlevel10k のプロンプトが表示されているか確認します。
  • p10k configure が「command not found」になる場合、Powerlevel10k の設定ファイルがまだ読み込まれていない可能性があります。

🛠 トラブルシューティング:p10k configure が使えない場合

# Powerlevel10k が正しく読み込まれるように、.zshrc の末尾に以下を追記
[ ! -f ~/.p10k.zsh ](/j-komatsu/myCheatSheet/wiki/-!--f-~/.p10k.zsh-) || source ~/.p10k.zsh

# さらにテーマが読み込まれているか確認するために、この行も追加(明示的に)
source ~/.oh-my-zsh/custom/themes/powerlevel10k/powerlevel10k.zsh-theme

その後、以下を実行:

exec zsh

または WSL を再起動し、再度 p10k configure を試してください。


🔍 確認方法

  • ターミナルで p10k configure を再実行し、アイコンやシンボルが すべて正しく表示されるか 確認してください。
    • ✔ アイコンが文字化けせず見える
    • ✔ Gitアイコン、ブランチマーク、フォルダアイコンなどがカラーで表示される

✅ ステップ6:開発者向け便利ツールのインストール(任意)

以下は .zshrc カスタマイズの利便性を高めるためのツールですが、すべて必須ではありません。 必要に応じて個別にインストールしてください。

sudo apt install exa bat ripgrep fd-find fzf zoxide -y

batbatcat という名前でインストールされることがあります。

🔍 確認方法(各ツールがインストールされたか確認)

exa --version       # exa の確認
batcat --version    # bat の確認(エイリアス設定で bat に変更可)
rg --version         # ripgrep
fzf --version        # fzf
zoxide --version     # zoxide

💡 バージョンが表示されない場合の対応

  • ツールが未インストールの可能性があります → apt install コマンドを再実行してください。
  • 使用しない場合は .zshrc に対応エイリアスを設定しなければ問題ありません。

✅ ステップ7:.zshrc カスタマイズの適用

あなたの .zshrc に以下のような設定を追記・適用してください:

# exa を ls に
alias ls='exa -l --icons'

# cat を bat に
alias cat='bat'

# grep を rg に
alias grep='rg'

# zoxide の初期化
eval "$(zoxide init zsh)"

# fzf の履歴検索
export FZF_DEFAULT_COMMAND='fd --type f'
bindkey '^R' fzf-history-widget

反映:

source ~/.zshrc

🔍 確認方法

ls        # exa の出力形式で表示されるか?
cat file  # bat の出力になっているか?
grep xxx  # rg が使われているか?
z foo     # zoxide による移動ができるか?

🎉 完了!

これで Windows + WSL 上で Zsh + Oh My Zsh + Powerlevel10k を活用したターミナル環境が整いました。
Mac 同様の快適な .zshrc カスタマイズもそのまま使えます!

必要に応じて .zshrc カスタマイズテンプレートを別途参照してください。

🛠 トラブルシューティング:Zsh + Oh My Zsh + Powerlevel10k(WSL向け)

このページでは、WSL環境で Zsh + Oh My Zsh + Powerlevel10k を構築中に発生しがちなエラーとその解決方法をまとめます。


✅ 1. p10k configure が使えない

💬 エラー内容

zsh: command not found: p10k

🔍 原因

  • Powerlevel10k のテーマはインストールされているが、設定ファイル .p10k.zsh が存在していない。
  • .zshrc に読み込み設定が書かれていない。

✅ 解決手順

# 最新の設定ファイルを取得
curl -o ~/.p10k.zsh https://raw.githubusercontent.com/romkatv/powerlevel10k/master/config/p10k-lean.zsh

# .zshrc に以下を追記(または確認)
[ ! -f ~/.p10k.zsh ](/j-komatsu/myCheatSheet/wiki/-!--f-~/.p10k.zsh-) || source ~/.p10k.zsh

# 反映
exec zsh

✅ 2. ls が使えない / exa エラー

💬 エラー内容

zsh: command not found: exa

🔍 原因

.zshrclsexa -l --icons にエイリアスしているが、exa が未インストール。

✅ 解決方法(ezaを代替導入)

sudo apt install eza -y

# .zshrc を以下に変更または追記
alias ls='eza -l --icons'

# 反映
source ~/.zshrc

✅ 3. bat が見つからない

💬 エラー内容

zsh: command not found: batcat

🔍 原因

Ubuntuでは bat パッケージをインストールすると、コマンド名が batcat になる。

✅ 解決方法

sudo apt install bat -y

# .zshrc にエイリアス追加
alias bat='batcat'

# 反映
source ~/.zshrc

✅ 4. Powerlevel10k の初回設定画面が毎回出る

💬 表示例

If you do nothing, you will see this message again when you start zsh.

✅ 解決方法

# .zshrc に以下を追加して非表示に
POWERLEVEL9K_DISABLE_CONFIGURATION_WIZARD=true

# 反映
source ~/.zshrc

✅ 5. grep を使った .zshrc の内容確認が失敗する

💬 エラー内容

zsh: command not found: rg

🔍 原因

greprg(ripgrep)にエイリアスされていて、ripgrep が未インストール。

✅ 解決方法

# 一時的に純正 grep を使う
command grep 'p10k.zsh' ~/.zshrc

# または絶対パスで
/usr/bin/grep 'p10k.zsh' ~/.zshrc

✅ 6. exec zshsource ~/.zshrc が CMD で動かない

💬 エラー内容

'exec' は内部コマンドまたは外部コマンド...(CMD上のメッセージ)

🔍 原因

Windows の CMD 上で Linux シェルのコマンドを実行している。

✅ 解決方法

# 正しい手順
wsl     ← まずWSLに入る
exec zsh

✅ 7. .zshrc の場所がわからない / Windowsから開きたい

🔍 パスの確認

Linux側:

~/.zshrc

Windowsエクスプローラーからアクセス:

\\wsl$\Ubuntu\home\{ユーザー名}\.zshrc

{ユーザー名} はWSL上のLinuxユーザー名(例:komatsu)


🧹 便利な再読み込みコマンド

source ~/.zshrc   # 設定を即時反映
exec zsh          # シェルを再起動

トラブルが他にも出たら、随時ここに追記して拡張していってください! 💪