はじめに
株式会社OMJテクノソリューションズ Advent Calendar 2023 6日目の記事です。
こんにちは、かわしまです。
エンジニア一年目で、日頃はSESとして働いております。
今回は黒い画面こと、ターミナルで過ごす際のQOLを上げるために私が使っているプラグインやツールについて書いていきたいと思います!
ただ、今回は詳細な設定ファイル(いわゆるdotfile)はないです、すみません。。。こちらを承知の上読んでいただけると幸いです。
なぜターミナル?
私は日頃開発はMacでNeovimを使っているため、ターミナルの環境整備も行っています。
時間があるときにいいプラグインないかなと探すと、新しいものが見つかったりします。
ですので、日頃私が使っているツールやプラグイン等を共有するとともに(目新しいものはないかもしれませんが)
読んでいる方のターミナルの設定や知らないプラグインを教えてほしい!という思いで、こちらの記事を書かせていただきました。
ターミナル
iTerm2を使っています。他にもターミナルアプリがありますが、他はMacデフォルトのものやWarpというものしか触ったことがないので他によさげなものがあれば教えてください。 iTerm2はMacデフォルトのものと基本的な使用感は変わらず、機能をプラスしたものなのでこちらに移行してもあまり違和感なく使えるのかなと思います。
また、カラーテーマはSolarized Darkがお気に入りです。他のツールでも基本的にはSolarized Darkを設定しています。
このあとはターミナルのカスタマイズの話になりますが、そんなのめんどくさいという方はWarpを一度触ってみてほしいです。
WarpはAIを導入した次世代ターミナルアプリと銘打っていて、コマンドの補完やワークフローの作成が可能となっています。カスタマイズが反映されないので私とは相性が悪かったですが、カスタマイズせずに快適にターミナルを使いたいという方にはおすすめかと思います。
シェル
zshを使っています。Macを使っている方だと、最近はzshがデフォルトになっているかと思います。カスタマイズに興味を持った頃は特にシェルを気にしていなかったので、zshをそのまま使っています。
zshには様々なプラグインがあり、導入することでコマンドの補完やディレクトリ移動を楽にすることができます。その際にフレームワークを使用すると、プラグインの導入やターミナルのデザインのカスタマイズを比較的簡単にすることができます。
因みに、fishというシェルがあるのですが、コマンドの補完やデザインのカスタマイズ機能がデフォルトで入っているので、カスタマイズしてみたいという方はfishを使ってみるのもいいかもしれません。
フレームワーク
Oh My Zshを使っています。zshフレームワークの中で、主流の一つです。しかし、最近ではzshの起動がより高速なフレームワークが出ているようで、そちらに移行したいと思っているのですが、再度セッティングするのが面倒で移行できていません。これからカスタマイズをする方は最新のフレームワークを使ってみるのが良いかと思います。(Zimとか)
テーマ
Powerlevel10kを使っています。ここでいうテーマというのはデザインの種類のことです。Powerlevel10kは人気のテーマで、様々な情報(OSの種類やバージョン管理ツール名等)をターミナル上に表示できるとともに、鮮やかなデザインとともにターミナルを彩ることができます。
また指定のフォント(Nerd Font)を導入すると、OSがMacの場合はりんごアイコン、Gitで管理されているディレクトリにいるとGitアイコンが表示されるようになります。
プラグイン
私が導入しているのは以下の三つです。
- zsh-autosuggestions
- zsh-syntax-highlighting
- web-search
zsh-autosuggestions
入力履歴に基づいてコマンドを保管してくれます。何度も同じコマンドを打つ際に便利です。
zsh-syntax-highlighting
入力したコマンドや引数に色をつけてくれます。視覚的に見栄えが良くなるのもそうですが、間違ったコマンドの時は赤色になるのでコマンドが間違っているかどうかが視覚的にわかりやすくなります。
web-search
コマンドライン上から指定した検索エンジンやサイトで検索できるようになります。Googleはもちろん、BraveやGithub、Youtubeの検索もできます。
エラーなどが出た際にアプリを切り替えずに検索することができるので便利です。
TMUX
最後にTMUXについて紹介します。ターミナルマルチプレクサ(Terminal Multiprexer)の略で、セッション、ウィンドウ、ペインに分割してターミナルを利用できるようになります。この場では細かい説明は省略しますが、複数のターミナルのウィンドウを開かなくても一つのウィンドウで複数のセッションを立ち上げることができます。ターミナル上で複数の作業をする際に便利です。
また、ショートカットコマンドを設定することができて、ウィンドウやペインを簡単に移動することも可能です。以前フロントエンドとバックエンドを同時に作業しなければなかった際はウィンドウ毎にフロントとバックのプロジェクトを展開し、キー一つでプロジェクトを移動することができたので重宝しました。VS Codeだとここまで簡単に移動することができない(私が無知なだけかもしれませんが...)と思うので、これはターミナル上で開発する一つの利点かなと考えています。
最後に
ここまで読んでいただき、ありがとうございました!以上が私のターミナル生活QOL上げるためのプラグイン、ツールの紹介でした。今後はdotfileも共有できればなと考えています。
また、もし読んでくださった方でこんなのおすすめだよ!というものがあれば教えていただけると幸いです。