🐠

シェルのfishをEnvaderで学んだら、フォントの配色にハマった話

2022/04/26に公開

どうも、kobakichiです。

今回はEnvaderを利用して、たくさんあるシェルの中でもfishというユーザーフレンドリーなシェルについて実践しながら学びました。

その個人的な振り返りとまとめです。

Envaderとはなんぞや?という方のためにリンクを貼っておきますので、参考にどうぞ。

Envaderを簡単に説明すると、Linux環境を環境構築をしないで簡単に体験する事ができて、たくさんのコマンドなどが自由に実行できるオンライン学習サービスです。

Envader

コース一覧

今回使用したシナリオ

参考にさせていただいた記事一覧

fish

シンタックスハイライトの設定方法

set_color - set the terminal color
Synopsis

fishは面白い

個人的な感想ですが、fishというシェルは面白いです。
インストールしてシェルを起動するだけで、シンタックスハイライトが適用されたりして、テンションが上がります。

そんなに詳しいわけでもない私でも、楽しくてどんな設定をするとどうなるのか?が気になり出して、時間を溶かしてしまいました。

使用する方はご注意を。。。。

この記事の構成

この記事で分かること

  • fishについて
  • fishのインストール方法
  • fishでのフォントカラーの変更方法

fish(Friendly Interactive Shell)とは

簡単に説明すると、

  • ユーザーフレンドリーで見た目や使い勝手が良い
  • POSIX非互換のため、fishで書いたシェルスリプトは動かない
  • カスタマイズ性があるため、カスタマイズ好きな人にはたまらない要素がある。

私は上記の3点があるのではないかと感じました。

特に注意したい点としては、2番目のPOSIX非互換なので、fishで書いたシェルスクリプトはbashなど他のシェルでは動かない。と言った点です。

実際にはbashzshを使う事が大半だと思うので、fishを使用する機会があった場合には注意したいと思います。

fish(Friendly Interactive Shell)のインストール

まず、インストールするパッケージ一覧を更新するため、以下のコマンドで更新しましょう。

sudo apt update

次に、以下のコマンドでfishをインストール。

sudo apt install fish

これだと途中で質問に答えないといけない場面があるので、-yオプションをつけるとスムーズにインストールできます。

sudo apt install fish -y

fishにシェルを切り替える

fishのインストールは完了したので、次はシェルをfishに切り替えます。

envader@172-19-1-2:~$ fish
envader@172-19-1-2 ~>

プロンプトの部分が>に変更されたので、シェルが切り替わっていますね。

echo $0コマンドでシェルの確認をしたかったのですが、なぜかできなかったので以下のコマンドにてシェルの確認を実施しました。

envader@172-19-1-2 ~> ps -p $$
$$ is not the pid. In fish, please use %self.
fish: ps -p $$

fishでのフォントカラーの変更

シェルをfishに変更した時点で、シンタックスハイライトが有効になり、オートサジェスト機能も働いて入力している内容の候補が表示されるようになります。

ここのエディタでは表現できないみたいなので、気になる方は実際にインストールしてやってみてください。

そのシンタックスハイライトの配色が若干見にくい場合もあるため、私は変更して使用しました。

配色名が載っているサイト
set_color - set the terminal color
Synopsis

設定方法
シンタックスハイライトの設定方法

実際にコマンドの紹介をしておきます。

envader@172-19-1-2 ~> set fish_color_error bryellow

このコマンドを叩くと、入力している途中のフォントカラーを設定できます。

set fish_color_errorの後に半角スペースを入れてから色を指定します。
上記のリンクにも貼っておきましたが、そこで紹介されている配色は

black, red, green, yellow, blue, magenta, cyan, white

brblack, brred, brgreen, bryellow, brblue, brmagenta, brcyan, brwhite

こちらでした。

もっと設定できるのかもしれませんが、とりあえずこのバリエーションでも十分かと。。

今回紹介したのは入力している途中のフォントカラーでしたが、他にもサジェスト時の配色を変えたりとか色々できますので、上記のリンクを参考にご自分で設定してみると楽しいと思います。

ぜひ一度fishを入れて、色々と試してみてください。

今回使用したシナリオ
こちらのリンクで実際に試してみるのもアリだと思います。

最後まで読んでいただきありがとうございました。

Discussion