Hyperとfishで良さげなターミナルにする
はじめまして、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
自分好みの設定やプラグインを探してカスタマイズしてみください!