Tag: shell

  • ログインShellをfishにして作業効率を改善する

    ログインShellをfishにして作業効率を改善する

    こんにちは、ソリューションの五十嵐です。 ログインShellとしてzshを使用しているのですがイマイチzshを使いこなせておらず、bashと比べても作業効率が良くなっているようには思えませんでした。 そんな中fishの記事を拝見して興味を持ったので試してみました。 ちなみにGoogleでfishについて調べるとfishがなんとなく良いものだとわかります。 インストール 私はMac環境ですのでHomebrewでインストールします。 ログインShellに設定できるように/etc/shellsの末尾に/usr/local/bin/fishを追加します。 以下のコマンドでログインShellに設定します。 ターミナルを開いてfishになっていればOKです。 プラグイン管理 プラグイン管理のためFishermanをインストールします。 他にoh-my-fishというプラグインマネージャもありましたが、zshの時に使用していたoh-my-zshがイマイチ使いこなせていなかったので似た名前のこちらは選択肢から外しました。oh-my-zshとの関係性は無いと思いますが名前が受け付けなかったので。。。 テーマ変更 デフォルトでも良いのですがせっかくなのでテーマを変更します。 テーマは以下のページから選びましょう。 https://github.com/oh-my-fish/oh-my-fish/blob/master/docs/Themes.md 選んだテーマをfishermanでインストールします。 デフォルトでPowerlineフォントが有効になっているので以下のように表示が崩れます。 Powerlineフォントをインストールしても良いのですが元々使用していたRictyフォントを使用したかったのでPowerlineフォントを無効にします。 このままでは再起動時に元にもどってしまうので.config/fish/fish_configに追加しましょう。fish_configが存在しない場合には作成してください。 テーマについては以下のコマンドを実行することでブラウザから変更することもできます。 使用感 fishはコマンド入力中に履歴から補完してくれる機能があります。試しに以下のような階層ディレクトリに対してcdコマンドを実行してみます。 cdのパスに対しての補完でしたがコマンドのオプションなども補完してくれるので以下のようにdockerコマンドのオプションも補完してくれます。dockerコマンドにシンタックスハイライトが効いているのもポイントですね。 このシンタックスハイライトは以下のようにコマンドが正しいかどうか実行前に判断することができます。 まとめ 実際にfishを使ってみてかなり良い印象を受けました。bashやzshよりも情報が少ないので設定でつまづくかな、と思ったのですがそもそも設定しなくても使えるほど優秀なので杞憂でした。 POSIX互換が無いというところで問題なることがあるかもしれませんがzshよりは使いやすい印象ですので、しばらくはfishをログインShellとして使ってみようと思います。