インストール - Fish

提供:MochiuWiki : SUSE, EC, PCB
2021年11月29日 (月) 19:28時点におけるWiki (トーク | 投稿記録)による版 (→‎Pecoのインストール)
ナビゲーションに移動 検索に移動

概要

Fishは、LinuxやMacOS向けのスマートで使用しやすいコマンドラインシェルである。

Fishには、以下に示す特徴がある。

  • オートサジェスト
    Webブラウザのように履歴や補完に基づいて、入力中にコマンドを提案する。

  • 美しいVGAカラー
    24ビットのTrueColorをサポートしている。

  • 完全なスクリプト言語
    Fishは完全にスクリプト化されており、その構文はシンプル、クリーン、かつ一貫している。

  • Webベースの設定
    Webページから色を設定することや、関数、変数、履歴を表示することができる。

  • Man Page Completions
    他のシェルはプログラム可能な補完機能をサポートしているが、Fishでは、インストールされたmanページを解析して自動的に補完機能を生成する。

  • アウトオブザボックス機能
    タブ補完やシンタックスハイライト等の機能が動作するだけでなく、新たに設定する必要がない。



Fishのインストール

パッケージ管理システムからインストール

パッケージ管理システムからFishをインストールする。

# CentOS
sudo yum install fish

# SUSE
sudo zypper install fish


ソースコードからインストール

ビルドに必要な依存関係のライブラリをインストールする。

# CentOS
sudo yum install cmake ncurses-devel

# SUSE
sudo zypper install cmake ncurses-devel ncurses5-devel libpcre2-16-0 libpcre2-8-0 pcre2-devel \
                    python3-Sphinx gettext-runtime gettext-tools 


FishのGithubからソースコードをダウンロードする。
または、gitコマンドを使用してソースコードをダウンロードする。

wget https://github.com/fish-shell/fish-shell/archive/refs/tags/<バージョン>.tar.gz
tar xf fish-*.tar.gz
# または
git clone https://github.com/fish-shell/fish-shell.git


Fishをビルドおよびインストールする。

cd fish-*
mkdir build && cd build

cmake -DCMAKE_INSTALL_PREFIX=<Fishのインストールディレクトリ> BUILD_DOCS=ON INSTALL_DOCS=ON FISH_USE_SYSTEM_PCRE2=ON -DWITH_GETTEXT=ON ..
make -j $(nproc)
make install


設定

.profileファイルや.bashrcファイル等に、Fishのパスを設定する。

vi ~/.profile


# ~/.profileファイル

export PATH="/<Fishのインストールディレクトリ>/bin:$PATH"


Fishの設定を反映させる場合、以下のコマンドを実行する。

source ~/.config/fish/config.fish



FisherManのインストール

FisherManのインストール

FisherManは、Fishのパッケージ管理ツールである。
Fishプラグインのインストール、アップデート、削除において、Fishのタブ補完機能と豊富な構文の強調表示を利用してインタラクティブに行うことができる。

関数、補完、バインディング、スニペットをコマンドラインから管理できる。
シェルの機能を拡張して、プロンプトの外観を変更および異なるシステム間で再現可能な設定を簡単に作成できる。
また、FisherManは、Oh My Fishもサポートしている。

FisherManをインストールするには、以下のコマンドを実行する。

curl -sL https://git.io/fisher | source && fisher install jorgebucaran/fisher


Fishプラグインのインストール

Fishプラグインをインストールするには、installコマンドの後にGitHub上のリポジトリへのパスを指定する。

fisher install ilancosman/tide


Fishプラグインの特定のバージョンを取得するには、プラグイン名の後に@マークを付け、タグ、ブランチ、またはコミットを付加する。

fisher install jorgebucaran/nvm.fish@2.1.0


ローカルディレクトリからFishプラグインをインストールすることもできる。

fisher install /<Fishプラグインがあるローカルディレクトリ>


FisherManは、FishプラグインをFishの設定ディレクトリに展開して、既存のファイルを上書きする。
この動作を変更する場合は、$fisher_pathを任意の場所に設定して、関数のパスに入れること。

インストールされているFishプラグインの表示

現在インストールされている全てのFishプラグインを表示するには、listコマンドを使用する。
listコマンドには、出力をフィルタリングするための正規表現を指定することもできる。

fisher list
fisher list \^/


Fishプラグインの更新

個別にFishプラグインを最新に更新するには、以下のコマンドを実行する。

fisher update jorgebucaran/fisher


全てのFishプラグインを最新に更新するには、以下のコマンドを実行する。

fisher update


Fishプラグインのアンインストール

個別にFishプラグインをアンインストールするには、以下のコマンドを実行する。

fisher remove jorgebucaran/nvm.fish
fisher remove jorgebucaran/nvm.fish@2.1.0


全てのFishプラグインをアンインストールするには、以下のコマンドを実行する。

fisher list | fisher remove



Pecoのインストール

Pecoは、Goで記述されたシンプルな対話型フィルタリングツールである。
grepコマンドと異なり、タイプしながら現在の結果を閲覧することができるため、ログ、プロセス統計、ファイルの検索等のフィルタリングに最適である。

  • インストール方法 1 (推奨)
    PecoのGithubにアクセスして、Pecoをダウンロードして解凍する。
    <codehttps://github.com/peco/peco/releases/download/<バージョン>/peco_linux_<アーキテクチャ名>.tar.gz
    tar xf peco_linux_<アーキテクチャ名>.tar.gz
    解凍したディレクトリを任意のディレクトリに配置する。
    推奨するディレクトリは、/<Fishのインストールディレクトリ>/binディレクトリである。
    ~/.profileファイル等に、配置したディレクトリの環境変数PATHを追加する。
    # ~/.profileファイル
    export PATH="<Pecoのインストールディレクトリ>:$PATH"

  • インストール方法 2
    PecoのGitHubから、ソースコードをダウンロードする。
    この時、GOのインストールディレクトリ内にクローンする。(例. /<GOのインストールディレクトリ>/src/github.com/peco/peco)
    これは、メインのバイナリが内部パッケージを参照しているため、ソースコードが正しいパッケージの場所に置かれている必要があるからである。
    git clone https://github.com/peco/peco.git peco

    ダウンロードしたディレクトリに移動して、Pecoをビルドする。
    make build

    次に、releases/<バージョン>ディレクトリにpecoをインストールする。
    go build

    生成された実行ファイルを、例えば、/<Fishのインストールディレクトリ>/binディレクトリ等にコピーする。
    これは、Pecoの依存関係の正しいバージョンをインストールしている。

    続いて、Pecoをビルドする。
    これにより、クローンされたPecoリポジトリのルートにPecoの実行ファイルがコンパイルされる。
    go build cmd/peco/peco.go

    cmd/peco/ディレクトリにあるpeco.goファイルを、任意の場所にコピーする。



Oh My Fishのインストール

Curlコマンドからインストール

Curlコマンドを実行して、Oh My Fishをダウンロードする。

curl -L https://get.oh-my.fish > install


Oh My Fishをインストールする。

fish install --path=~/.local/share/omf --config=~/.config/omf


Githubからダウンロードしてインストール

Oh My FishのGithubからOh My Fishをダウンロードする。
または、以下のコマンド実行する。

git clone https://github.com/oh-my-fish/oh-my-fish.git


Oh My Fishをインストールする。

# Gitからインストールする場合
git clone https://github.com/oh-my-fish/oh-my-fish
cd oh-my-fish
bin/install --offline

# Tarballからインストールする場合
curl -L https://get.oh-my.fish > install
fish install --offline=omf.tar.gz