StarshipでShellも快適に ― Shell is comfortable with Starship.

World Administrator
2023年7月22日
7 分で読めます
Photo by Desola Lanre-Ologun / Unsplash
Starship: Cross-Shell Prompt
Starship is the minimal, blazing fast, and extremely customizable prompt for any shell! Shows the information you need, while staying sleek and minimal. Quick installation available for Bash, Fish, ZSH, Ion, Tcsh, Elvish, Nu, Xonsh, Cmd, and Powershell.
The minimal, blazing-fast, and infinitely customizable prompt for any shell!

StarshipでShellも快適に

近年、開発者向けのツールや環境が急速に進化しており、プログラミングの効率を向上させる手段も増えてきました。その中でも、シェル(ターミナル)の操作を快適にするためのツールが注目を集めています。今回は、その中でも特に優れたツールの一つ、「Starship」についてご紹介します。

Starship: クロスシェルプロンプトとは

「Starship」は、シェルのプロンプト(コマンド入力待ち表示部分)を最小限でありながらも高速で、さらには非常にカスタマイズ可能にするツールです。Bash、Fish、ZSH、Ion、Tcsh、Elvish、Nu、Xonsh、Cmd、Powershellなど、さまざまなシェルで利用することができます。これにより、どのシェルを使用している方でも、必要な情報をスタイリッシュに表示しながら、効率的な作業を行うことができます。

Starshipの公式サイトはこちら: https://starship.rs/

Starshipの特徴

Starshipは、シェル操作を効率的かつ快適にするためのツールとして、その優れた特徴によって多くのユーザーから注目を浴びています。ここでは、Starshipの特徴について詳しく解説します。

高速かつ軽量な動作

Starshipは、Rustという高速なプログラミング言語で開発されています。そのため、軽量ながらも高速な動作が可能です。シェルを起動する際に遅延を感じることなく、スムーズな操作を実現することができます。この高速性は、大規模なプロジェクトや複雑な操作を行う際にも大きな利点となります。

カスタマイズ性の高さ

Starshipは、シェルのプロンプトの外観や表示内容を、ユーザーの好みに合わせて自由にカスタマイズできる点が特徴です。さまざまなモジュールを組み合わせることで、表示される情報をカスタムすることが可能です。例えば、Gitのリポジトリステータスやコマンドの実行結果を視覚的に表示し、作業効率を向上させることができます。この高いカスタマイズ性によって、個々のユーザーに合わせたシェル環境を構築することができます。

プラグインシステムのサポート

Starshipは、プラグインシステムをサポートしており、ユーザーが独自のカスタムモジュールを作成して追加することができます。これにより、新たな情報をプロンプトに表示させたり、特定のコマンドを実行したりするための機能を簡単に拡張できます。プラグインシステムによって、より高度なカスタマイズや機能の追加が可能となります。

シンプルで見やすいデザイン

Starshipは、情報をシンプルかつ見やすいデザインで表示することに重点を置いています。必要な情報を適切なフォーマットで表示し、無駄な情報を省いています。これにより、クリーンな表示が実現され、作業中に混乱することなく効率的にコマンドを実行できます。また、テキストカラーやアイコンを使用することで、情報を視覚的に理解しやすくしています。

マルチプラットフォーム対応

Starshipは、さまざまなシェル(Bash、Fish、ZSHなど)やプラットフォーム(Windows、macOS、Linuxなど)で動作するため、ユーザーがお好みの環境で利用することができます。特定のシェルや環境に依存せずに利用できるため、環境を変更する際にもシームレスに移行することができます。

コミュニティとの共有

Starshipのユーザーコミュニティは活発で、さまざまなカスタムモジュールやテーマが共有されています。ユーザー同士が情報を交換し、新たなアイデアを得ることができるため、個々のシェル環境をさらに充実させることが可能です。コミュニティによる情報共有は、Starshipの魅力を最大限に引き出す手助けとなります。

定期的なアップデートとサポート

Starshipの開発チームは定期的にアップデートを行い、バグ修正や新機能の追加などを提供しています。また、公式ドキュメントやコミュニティを通じてサポートも提供されており、初心者から上級者まで幅広いユーザーが利用しやすい環境を提供しています。

Starshipは、高速で軽量な動作、高いカスタマイズ性、プラグインシステムのサポート、シンプルで見やすいデザイン、マルチプラットフォーム対応など、多くの特徴を備えた優れたシェルプロンプトツールです。ユーザーが自身の作業スタイルや好みに合わせてカスタマイズし、効率的かつ快適なシェル環境を実現するための選択肢として、幅広いユーザーに推奨される価値があります。 Starshipの魅力を活かして、より充実したプログラミング体験を手に入れましょう。

インストール手順

Starshipのインストールは簡単です。Windowsの場合は、以下のコマンドを使用します。

winget install --id Starship.Starship

ただし、Windowsの場合はPowerShellでの導入をおすすめし、権限設定も忘れずに行いましょう。Macの場合は、以下のコマンドを実行してインストールします。

curl -sS https://starship.rs/install.sh | sh

インストール後は、各シェルの設定ファイルに以下の設定を追加することで、Starshipを有効化します。

Bashの場合(~/.bashrcに追加):

eval "$(starship init bash)"

パワーシェルの場合(パワーシェルで実行):

Invoke-Expression (&starship init powershell)

StarshipとAlacrittyの組み合わせ

Starshipが提供する快適なシェル環境をより一層充実させる方法として、Rust製のターミナルエミュレータ「Alacritty」との組み合わせが注目を集めています。この組み合わせは、高速なプロンプトとレンダリング能力の両方を最大限に引き出すものであり、特にエンジニアや開発者にとっては非常に魅力的です。

Alacrittyの特徴

Alacrittyは、「光速のターミナルエミュレータ」として知られ、その名の通り高速で軽量な動作が特徴です。OpenGLを使用したGPUアクセラレーションによって、驚異的なレスポンス速度を提供します。通常のターミナルエミュレータと比較して、コマンドの入力から表示までの遅延が非常に低く、ストレスなく作業を進めることができます。また、拡張性にも優れており、設定ファイルをカスタマイズすることで、好みに合わせた外観や動作を実現できます。

GitHub - alacritty/alacritty: A cross-platform, OpenGL terminal emulator.
A cross-platform, OpenGL terminal emulator. Contribute to alacritty/alacritty development by creating an account on GitHub.

StarshipとAlacrittyの連携

StarshipとAlacrittyを組み合わせることで、シェル環境全体が飛躍的に向上します。まず、StarshipのプロンプトがAlacrittyの高速なレンダリングによって、リアルタイムにスムーズに表示されます。これにより、コマンドの実行結果やGitのステータスなど、重要な情報を見逃すことなく把握できます。

特にVimを使用している方にとっては、Alacrittyの高速性が大きなメリットとなります。Vimの操作は高いパフォーマンスを要求するため、遅延が少ない環境での利用が望ましいです。Alacrittyはこの要求に応えるため、Vimの応答速度を向上させることができます。これにより、Vimユーザーはより滑らかな編集体験を享受できるでしょう。

StarshipとAlacrittyの組み合わせは、高速かつ快適なシェル環境を求めるユーザーにとって、非常に有益な選択肢です。高速なプロンプト表示とレンダリング能力によって、作業効率を向上させるだけでなく、外観のカスタマイズやVimの操作にも大きなメリットをもたらします。StarshipとAlacrittyを連携させ、最新のエンジニアリング体験を手に入れてみましょう。

Alacrittyの詳細は以下のリンクで紹介しています。

光速のターミナルAlacrittyを使う― Using Alacritty, a terminal at the speed of light.
レスポンスがよく、かっこいいモダンなターミナル、Alacrittyを紹介します。 Alacritty - A cross-platform, OpenGL terminal emulatorAlacritty is a modern terminal emulator that comes with sensible defaults, but allows for extensive configuration. By integrating with other applications, rather than reimplementing their functionality,…

まとめ

Starshipは、シェルのプロンプトを最小限で高速に表示し、さらにカスタマイズ性も備えた優れたツールです。Rustの採用により、高い信頼性と安定性を持ちながら、プロンプト操作の効率を向上させることができます。ぜひ、Starshipを導入して、より快適なシェル環境を手に入れてみてください。

Starshipってなに?

Shellを拡張し使いやすくしてくれるRust製のツールです。

例えば、コマンド実行が成功したかどうか、Gitのステータスはどうなのをか視覚的にわかりやすく表示してくれます。

Rustを採用しているので信頼性に優れ、安定して高速に動作します。それにしても最近のRustの勢いはすごいですね。私もRustは大好きですが、案件が存在しないので個人プロジェクトで使うことしかできません。もっと普及してくれるといいのですが……

閑話休題、どのようなツールかは見た方が早いです。公式サイトの動画を見ればわかります。

https://starship.rs/demo.webm

WSLのbashにも、Powershell、Cmdなどなど、どこへでも導入できるので、好きなShellで幸せになれます。黒い画面でカタカタしているプログラマー全員が今すぐに入れましょう。

導入

事前準備としてNerdFontをインストールしましょう。

Nerd Fonts - Iconic font aggregator, glyphs/icons collection, & fonts patcher
Iconic font aggregator, collection, & patcher: 9,000+ glyph/icons, 50+ patched fonts: Hack, Source Code Pro, more. Popular glyph collections: Font Awesome, Octicons, Material Design Icons, and more

Starshipの導入そのものは、公式ページにとても詳しく書いてあります。

公式ページが日本語に対応していますので、簡単に導入することができます。

Starship: Cross-Shell Prompt
Starship is the minimal, blazing fast, and extremely customizable prompt for any shell! Shows the information you need, while staying sleek and minimal. Quick installation available for Bash, Fish, ZSH, Ion, Tcsh, Elvish, Nu, Xonsh, Cmd, and Powershell.

Starship Homepage

インストール

Windowsの方は以下のコマンドでインストールができます。

winget install --id Starship.Starship

Windowsの方はCMDに導入するよりもPowerShellに導入することをおすすめします。その際に、権限設定を忘れずに行いましょう。

Macの方は以下のコマンドです。

curl -sS https://starship.rs/install.sh | sh

その後ターミナルに設定をします。~/.bashrcに以下の設定を書き込みます。

eval "$(starship init bash)"

パワーシェルでは以下の設定をします。

Invoke-Expression (&starship init powershell)

私はStarshipと同じくRust製のAlacrittyにいれています。レンダリングにGPUを使用するので体感できるほど、レスポンスが早くなります。とくにVimを使っている方はVimのレスポンスに影響しますので強くおすすめします。

光速のターミナルAlacrittyを使う― Using Alacritty, a terminal at the speed of light.
レスポンスがよく、かっこいいモダンなターミナル、Alacrittyを紹介します。 Alacritty - A cross-platform, OpenGL terminal emulatorAlacritty is a modern terminal emulator that comes with sensible defaults, but allows for extensive configuration. By integrating with other applications, rather than reimplementing their functionality,…

具体的な設定方法は以下の記事で紹介しています。

とはいっても、こうしたやや不安定なツールをメインに使うのは抵抗がある方もいると思います。リッチなターミナルエミュレータが増えてきたのはいいことですが、早くスタンダードが定まるといいですね。

自由なインテグレーション

Alacrittyなどのターミナルと組み合わせることで、シェル環境が幸せになれます。

Alacrittyのインストールは別記事で公開しています。