Windows 11 WSL2 環境での Fish shell セットアップガイド
こんにちは!今回は、Windows 11 の WSL2 環境に Fish shell をインストールし、効率的な開発環境を構築する方法について解説します。Neovim/LazyVim ユーザーの方にも最適な設定方法をご紹介します。
Fish shell とは?
Fish (Friendly Interactive SHell) は、使いやすさと美しさを重視して設計されたコマンドラインシェルです。Bash や Zsh と比較して、以下のような特徴があります:
- シンタックスハイライト(コマンドやパスが色分けされる)
- 自動補完機能が高度(過去のコマンド履歴やマニュアルから学習する)
- 直感的な構文(複雑なシェルスクリプトを書きやすい)
- Web ベースの設定インターフェース
- プラグインシステムが整備されている
WSL2 環境への Fish shell インストール
前提条件
- Windows 11 がインストールされていること
- WSL2 が有効化されていること
- Ubuntu(または他の Linux ディストリビューション)が WSL2 にインストールされていること
Fish shell のインストール
Ubuntu 環境で Fish をインストールする方法を紹介します。
1. パッケージリストの更新
まず、パッケージリストを最新の状態に更新します。
sudo apt update
2. Fish shell のインストール
次に、Fish shell をインストールします。
sudo apt install fish
3. インストールの確認
Fish がインストールされたことを確認します。
fish --version
以下のように出力されればインストール成功です。
fish, version 3.1.2 (または、それ以降のバージョン)
4. Fish shell を起動する
インストールが完了したら、以下のコマンドで Fish を起動できます。
fish
Fish shell をデフォルトシェルに設定
Fish shell を毎回ログイン時に自動的に起動するように設定しましょう。
1. インストールされているシェルのリストを確認
cat /etc/shells
出力に /usr/bin/fish
が含まれていることを確認します。
2. デフォルトシェルを変更
chsh -s /usr/bin/fish
パスワードを求められるので入力します。次回ログイン時から Fish がデフォルトシェルとして使用されます。
Fish shell の基本設定
Fish shell の設定ファイルは ~/.config/fish/config.fish
にあります。このファイルがない場合は作成します。
mkdir -p ~/.config/fish
touch ~/.config/fish/config.fish
基本的な設定例
以下は、開発環境に便利な基本設定の例です。これを config.fish
に追加してください。
# Fish起動時のウェルカムメッセージを非表示にする
set fish_greeting
# エディタの設定(Neovimを使用)
set -gx EDITOR nvim
# PATH設定
set -gx PATH $HOME/.local/bin $PATH
# エイリアス設定
alias ll="ls -la"
alias g="git"
alias vim="nvim"
# ディレクトリ移動したら自動でlsする関数
function cd
builtin cd $argv
ls
end
# プロンプトの設定(シンプルなテーマ)
function fish_prompt
set_color cyan
echo -n (whoami)
set_color normal
echo -n '@'
set_color green
echo -n (hostname)
set_color normal
echo -n ':'
set_color blue
echo -n (prompt_pwd)
set_color yellow
echo -n (fish_git_prompt)
set_color normal
echo -n '> '
end
Fisher(プラグインマネージャー)のインストール
Fish には「Fisher」というプラグインマネージャーがあります。これを使用することで、様々な便利な機能を追加できます。
1. Fisher のインストール
curl -sL https://git.io/fisher | source && fisher install jorgebucaran/fisher
2. おすすめのプラグイン
Fisher を使用して、以下のおすすめプラグインをインストールしましょう。
z - 高速ディレクトリ移動
過去に訪れたディレクトリに素早く移動できるようになります。
fisher install jethrokuan/z
使い方:z ディレクトリ名の一部
で、そのディレクトリに移動できます。例:z dev
nvm.fish - Node.js バージョン管理
Node.js のバージョン管理を行うためのプラグインです。
fisher install jorgebucaran/nvm.fish
使い方:
# Node.jsの最新バージョンをインストール
nvm install latest
# 特定のバージョンをインストール
nvm install 16.14.0
# インストールされているバージョンを一覧表示
nvm list
fish-git-util - Git の状態をプロンプトに表示
Git リポジトリの状態をプロンプトに表示するプラグインです。
fisher install jorgebucaran/fish-git-util
この設定により、Git リポジトリ内にいる場合、ブランチ名や変更状態などが表示されます。
Neovim/LazyVim との連携
Fish shell と Neovim/LazyVim を連携させるための設定を紹介します。
1. Fish の設定ファイルに Neovim 関連の設定を追加
~/.config/fish/config.fish
に以下を追加します。
# Neovim関連の設定
set -gx XDG_CONFIG_HOME $HOME/.config
set -gx XDG_DATA_HOME $HOME/.local/share
set -gx XDG_CACHE_HOME $HOME/.cache
# LazyVim用の環境変数
set -gx LAZYVIM_CONFIG_DIR $XDG_CONFIG_HOME/nvim
2. Neovim を起動するエイリアスの設定
便利なエイリアスを追加します。
# Neovimエイリアス
alias vi="nvim"
alias nv="nvim"
alias lvim="nvim" # LazyVimを使用する場合
# 設定ファイルを素早く編集するためのエイリアス
alias fishconfig="nvim ~/.config/fish/config.fish"
alias nvimconfig="nvim ~/.config/nvim/init.lua"
ターミナルの見た目をカスタマイズ
Fish shell の見た目をカスタマイズして、より使いやすくしましょう。
1. カラーテーマの設定
Fish shell には、Web UI で設定を変更できる機能があります。以下のコマンドで起動します。
fish_config
ブラウザが開き、カラーテーマや機能のカスタマイズができます。
2. シンタックスハイライトのカスタマイズ
シンタックスハイライトの色をカスタマイズするには、config.fish
に以下を追加します。
# シンタックスハイライトの設定
set fish_color_command green --bold
set fish_color_param normal
set fish_color_quote yellow
set fish_color_error red --bold
3. Fish プロンプトのカスタマイズ(Starship 使用)
より高度なプロンプトをカスタマイズしたい場合は、Starship というツールがおすすめです。
まず、Starship をインストールします。
curl -sS https://starship.rs/install.sh | sh
次に、config.fish
に以下を追加します。
# Starshipの初期化
starship init fish | source
さらに、~/.config/starship.toml
ファイルを作成してカスタマイズできます。
# ~/.config/starship.toml
[character]
success_symbol = "[➜](bold green)"
error_symbol = "[✗](bold red)"
[git_branch]
symbol = "🌱 "
style = "bold purple"
[nodejs]
symbol = "⬢ "
style = "bold green"
[directory]
style = "bold blue"
トラブルシューティング
1. Fish shell が起動しない場合
Bash に戻して設定を確認します。
exec bash
そして、Fish がインストールされていることを確認します。
which fish
2. 設定ファイルに問題がある場合
設定ファイルに構文エラーがある場合、Fish shell は起動時にエラーを表示します。一度設定ファイルを移動してから Fish を起動し、問題を特定しましょう。
mv ~/.config/fish/config.fish ~/.config/fish/config.fish.bak
fish
3. プラグインの問題
プラグインに問題がある場合は、一時的にプラグインを無効化して確認します。
mv ~/.config/fish/fish_plugins ~/.config/fish/fish_plugins.bak
fisher update
まとめ
この記事では、Windows 11 の WSL2 環境に Fish shell をインストールし、効率的な開発環境を構築する方法について解説しました。Fish shell は直感的な操作と美しい表示で、開発作業をより快適にしてくれます。
特に Neovim/LazyVim ユーザーの方は、今回紹介した設定を活用することで、より効率的なコーディング環境を構築できるでしょう。
ぜひ自分好みにカスタマイズして、最高の開発環境を作り上げてください!