プログラミング

Hyperとfishで良さげなターミナルにする

shio

はじめまして、2023年1月に入社した「しお」です。
今回が初投稿です!

突然ですが、皆さんのターミナル環境はどんなこだわりがありますか?
自分はHyper というターミナルアプリと fish というシェルを使って良さげなターミナルを目指して頑張ってます。
ということで今回はそんなHyperとfishの私の設定を紹介しつつ、設定方法とかをまとめてみようと思います。

完成したらこんな感じ

一番最初に最終的にどんなターミナルになるのかお見せします(今の私のものをスクショ)。
これを目指して設定していきます。

Hyperを入れる

まずはHyper.jsというElectronを利用して作られているターミナルアプリです。
見た目が色々とカスタマイズできるので自分好みの設定がやりやすいです。

公式サイトこちら
https://hyper.is/

macOSの方はhomebrewを使ってもインストールできます。

brew install --cask hyper

アプリが追加されたら起動してみてください。
デフォルトの状態でも十分良さげですが、
ここからプラグインを入れてもっと良さげにしていきます。

Hyperは設定ファイル~/.hyper.jsで色々と設定やプラグインなどをいじることができます。
設定ファイルにプラグインを追記するだけでプラグインを入れられます。

自分がいれているプラグインは下記です。

//.hyper.js
module.exports = {
  config: {
  ////
  },
  plugins: {
    'hyperterm-monokai',  // Hyperをmonokaiテーマにしてくれる
    'hyper-search',  // ターミナル上に表示されている文字を検索してくれる
    'hyper-statusline',  // 良さげなステータスラインを下に追加してくれる
    'hyper-tab-icons-plus',  //  Hyperのタブごとにアイコンつけてくれる
    'hypercwd',  // 新しいタブを開くときに同じディレクトリで開いてくれる
  }
}

これだけでこんな見た目になってるはずです。

他にもテーマやプラグインは色々あるのでお好みのものを探して入れてみてください!

FIshを入れる

Hyperだけでも十分かもしれませんが、fishも入れてもっと良さげにしていきます。
fishはfishという名前のシェルです(お魚ではありません)。
補完が優秀だったりシンタックスハイライトがあったりで、良さげなターミナルには欠かせません。

ただしbashやzshとスクリプトの書き方だったりが違う部分があるので、そこだけは注意です。(慣れたら問題ないです)

fish shell
https://fishshell.com/

そしたらまずはインストールから

brew install fish

インストールできたらシェルの設定を進めます。
/etc/shellsにfishのパスを追記します。

// /etc/shellsに追記
/opt/homebrew/bin/fish

環境によってはパスが変わるかもしれないので、
追記するパスはwhich fishで確認してください。

そしたら下記を実行してシェルをfishに変更します。

chsh -s /opt/homebrew/bin/fish

ターミナルを起動しなおしたらfishになっているはずです。

ここで忘れずに~/.config/fish/config.fishを設定しておきます。
homebrew用の設定を追記します。
下記を追記

if status is-interactive
  eval (/opt/homebrew/bin/brew shellenv)
end

fishはzshでいう.zshrcのようなファイルではなく、
.config/fish/config.fishが設定ファイルになっています。
エイリアスなどもここに追記すると設定されます。
お好みで設定してください。

fishが入ったら、今度はfisherというプラグインマネージャを入れます。
Readmeを参考に下記を実行するとfisherが使えるようになります。

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

fishのプラグインは ~/config/fish/fish_plugins のファイルで管理されるので、ここで追加したり削除したりするのが楽でおすすめです。
fisher install/remove でもプラグインを入れたり消したりできます。

私が利用しているおすすめプラグインは下記です。
※ peco用のプラグインは別途 homebrew でpecoを入れる必要があります。

jethrokuan/z    // z コマンドで移動履歴のあるディレクトリへ移動できる
oh-my-fish/plugin-peco     // fish用のpecoプラグイン (別途 peco を入れる必要があります)
oh-my-fish/theme-bobthefish    // fishのテーマ

↑を~/config/fish/fish_pluginsに追記したら

fisher update

を実行して、fishのプラグインの導入も完了です。
見た目に関わるのはoh-my-fish/theme-bobthefishだけなので、それだけでも問題ないです。

フォントを入れる

bobthefishにはpowerline fontsが必要になります。
私はSource Code Proというフォントを使っています。
フォントは完全にお好みなので、好きなものを探してみるのも良いと思います!

Source Code Proは下記にあります。
https://github.com/powerline/fonts
インストールはReadmeを参考にinstall.shを実行すると完了です。

他にもNerd Fontsから探してみるのも良さそうです。
https://www.nerdfonts.com/

お好みのフォントが入ったら、Hyperの設定をいじります。
.hyper.js

module.exports = {
  config: {
      // ...
      fontFamily: 'Source Code Pro for Powerline'
      //...
    }
    // ...
}

のようにフォントを設定したら完了です!

ここまできたらgit管理されているディレクトリに移動すると
こんな見た目になっているはずです。
(ブランチやファイルの状態に合わせて見た目も変わります。)

完成!

これでHyper + fishの環境が整いました!
あとは楽しむだけです!

手始めに下記を実行すると、自動でコマンドの補完スクリプトを作成してくれるので
とりあえずこれを実行するのがおすすめです。

fish_update_completions

ただしfish_update_completionsで全てのコマンドに対応できるわけではないので、
その場合は補完スクリプトがないか探す必要があります。

例えばdockerのコマンドはこちらの補完スクリプト
~/.config/fish/completions/に追加する必要があります。

他にも下記を実行するとブラウザ経由でfishの設定ができます。

fish_config

自分好みの設定やプラグインを探してカスタマイズしてみください!

AUTHOR
shio
shio
記事URLをコピーしました