fish-shell はじめてみた

結構前からあったんですね。zshとか設定面倒なイメージしかなくてずっとbasherだったけどfish良さ気だったので乗り換えてみた。
  • いいと思った機能
    • 履歴等の補完が超強力
    • プロンプトに現在チェックアウトしてるGitブランチを表示出来る
    • エラー出力があるとプロンプトが赤くなったり、他にも色でわかりやすくなってる

fish-shellのインストール

    $ cd /usr
    $ git clone https://github.com/fish-shell/fish-shell.git
    $ autoconf
    $ ./configure
    $ make
    $ sudo make install
私はgithubのソースをビルドしたが、公式サイトでパッケージをダウンロードしてインストールするほうが楽だと思う。

使ってみる

    $ fish

gitサブコマンドの展開(tab)

デフォルトのシェルにする

    $ sudo su
    # echo /usr/local/bin/fish >> /etc/shells
    # exit
    $ chsh -s /usr/local/bin/fish
    ※一度ログアウトしてログインし直すと設定が反映される。

help

    $ help
で、ヘルプページがlocalhost:8000で開く。ブラウザで開く。w3m入れてるとそれで開く。

fish_config

以下コマンドでブラウザが開き、WEB上から設定ファイルを編集出来る。
    $ fish_config

プロンプトは私は 「pwd + (git branch) $」 とシンプルな表示にしてます。

bashとの違い

細かいところはまだわからないですが、シェルスクリプトの構文がbashとかとだいぶ違うみたいです。 ざっとわかった違いは、

サブコマンドコマンドの展開

普通bash等でサブコマンドを展開するとなると、 $ cat $(ls) とか $ cat ls ってすると思うけど(こんな使い方する人はいないと思うが) fishでは単純に括弧で囲うらしい。 $ cat (ls)

PATHを通す

setというコマンドを使う。
    (例)
    $ set -U fish_user_paths $fish_user_paths /usr/local/bin

と、今回はここまで。
あ、補完を決定する際、右矢印ボタンを押す以外でキーバインドってあります? Vimmerなので矢印キーに手を伸ばすのがとても億劫であります。w
暫く使ってみて、また発見があれば記事を書く。

コメント

このブログの人気の投稿

Vue.jsでimgタグのsrcをバインドさせる際の注意点

Windowsコマンドプロンプトをかっこよくする

vscodeとPlantUMLでロバストネス図を書く