1620 文字
8 分
Windows 11 WSL2環境でのFish shellセットアップガイド

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 ユーザーの方は、今回紹介した設定を活用することで、より効率的なコーディング環境を構築できるでしょう。

ぜひ自分好みにカスタマイズして、最高の開発環境を作り上げてください!


参考リンク#

Windows 11 WSL2環境でのFish shellセットアップガイド
https://oranges-blog.netlify.app/posts/how-to-setup-fish-shell/
作者
orangeVaper
公開日
2025-03-18
ライセンス
CC BY-NC-SA 4.0