fish-shell / fish-shell

fish は、macOS、Linux、およびその他のファミリー向けのスマートで使いやすいコマンドラインシェルです。fish には、シンタックスハイライト、入力中に自動提案、および設定不要でただ動くファンシーなタブ補完などの機能があります。

Fish の設計思想の詳細については、設計ドキュメントを参照してください。

クイックスタート

fish は一般的に bash や zsh など、他のシェルと同様に動作します。 いくつかの重要な違いは、https://fishshell.com/docs/current/tutorial.html で “unlike other shells” という魔法のフレーズを検索することで見つけることができます。

詳細なユーザドキュメントは、fish の中で help を実行することで得られます。また、https://fishshell.com/docs/current/index.html

以下のボタンをクリックすることで、ブラウザ上ですぐに fish で遊ぶことができます:

Getting fish

macOS

fish は、

  • using Homebrew.Debian.com にインストールしてください。 brew install fish
  • using MacPorts:sudo port install fish
  • using the installer from fishshell.com
  • as standalone app from fishshell.com

Packages for Linux

Debian, Fedora, openSUSE, and Red Hat EnterpriseLinux/CentOS 用は openSUSE BuildService からパッケージを入手可能です。

Ubuntu 用のパッケージは fishPPA から入手可能で、以下のコマンドを使用してインストールすることができます。

Windows

  • Windows 10 では、WSL Windows Subsystem for Linux の下に、上記の「Linux 用パッケージ」に記載されている適切なディストリビューションの手順で、または以下の手順でソースから fish をインストールすることが可能です。
  • Fish は、Cygwin (Shells カテゴリ) を使用してすべてのバージョンの Windows にインストールすることもできます。

ソースからの構築

お使いのプラットフォーム用のパッケージがない場合、GPG 署名入りの tarball を fishshell.com および GitHub のfish-shell から取得できます。

Running fish

インストールしたら、現在のシェルからfishを実行して、fishを試してみてください!

依存関係

fish を実行するには、以下のものが必要です。

  • curses または ncurses (ほとんどの *nix システムにプリインストールされています)
  • いくつかの一般的な *nix システムユーティリティ (現在は mktemp) と、基本 POSIX ユーティリティ (cat, cut, dirname,ls, mkdir, mkfifo, rm, sort, tee.X) が必要。 tr,uname,sed は最低限必要ですが、完全な coreutils と find,awk が望ましい)
  • gettext library, if compiled withtranslation support

以下のオプション機能にも特定の要件が存在する場合があります。

  • builtin command that have the --help option or print usagemessages requires ul and either nroff or mandoc fordisplay
  • automated completion generation from manual pages requires Python 3.3.5+
  • The fish_config Web configuration tool requires Python 3.5+ と Web ブラウザ
  • システムのクリップボード統合 (デフォルトの Ctrl-V と Ctrl-X バインディング) には xsel, xclip のいずれかが必要です。wl-copy/wl-paste または pbcopy/pbpaste ユーティリティ
  • yarnnpm の完全な補完には all-the-package-names NPM モジュール

fish への切り替え

デフォルトシェルとして fish を使用する場合、以下のコマンドを使用します。

chsh -s /usr/local/bin/fish

chsh はパスワードの入力を求め、デフォルトシェルを変更します。 (/usr/local/bin/fish は、fish がインストールされたパスが異なる場合は、そのパスに置き換えてください。) ログアウトして、再度ログインすると、変更が有効になります。

Fish が /etc/shells に追加されていない場合は、次のコマンドを使用して、fish をログインシェルとして許可します:

echo /usr/local/bin/fish | sudo tee -a /etc/shells

デフォルトシェルを戻すには、chsh -s /bin/bash (/bin/bash を必要に応じて /bin/tcsh または /bin/zsh に置き換える) を使用します。

ビルド

依存関係

魚をコンパイルするには、

  • C++11コンパイラ (g++ 4.0.0)が必要です。8 以降、または clang 3.3 以降)
  • CMake (バージョン 3.2 以降)
  • ncurses のような curses の実装 (ヘッダとライブラリ)
  • PCRE2 (ヘッダとライブラリ) – コピーは fish
  • gettext (ヘッダとライブラリ) – オプション、翻訳サポート用

Sphinx もオプションで必要、アクロンされた git レポジトリから文書を構築するため。

さらに、テストスイートを実行するには、Python 3.5+ と pexpect パッケージが必要です。

Building from source (all platforms) – Makefile generator

/usr/local にインストールするには、以下を実行してください:

mkdir build; cd buildcmake ..makesudo make install

インストールディレクトリは cmake-DCMAKE_INSTALL_PREFIXパラメータで変更可能です。

Building from source (macOS) – Xcode

mkdir build; cd buildcmake .. -G Xcode

Xcode プロジェクトは build サブディレクトリで利用可能になります。

Help, it didn’t build!

Fish が curses を見つけられなかったと報告した場合、cursesdevelopment パッケージをインストールして、再度ビルドしてみてください。

Debian または Ubuntu の場合:

sudo apt-get install build-essential cmake ncurses-dev libncurses5-dev libpcre2-dev gettext

RedHat、CentOS、または Amazon EC2 の場合:

sudo yum install ncurses-devel

Contributing Changes to the Code

See the Guide for Developers.

Contact Us

Questions, comments, rants and raves can be posted to the official fishmailing list at https://lists.sourceforge.net/lists/listinfo/fish-usersor join us on our gitter.imchannel. また、fish スクリプトに関する質問には onStackoverflow の魚タグを、その他の質問 (色のカスタマイズ、キーバインディングの変更など) には onSuperuser の魚タグを使用してください。 素晴らしいアイデアをお持ちですか? 課題を開いてください。

コメントを残す

メールアドレスが公開されることはありません。