Ghosttyを設定させていただきました

始めに

最近出てきたGhosttyというターミナルエミュレーターが盛り上がっていますね。 流行に乗って私もGhosttyをひととおり設定して現在はメインで使っています。

設定していくときに見ていった点を紹介していきます。

Ghosttyについて

https://ghostty.org/

Ghostty自体はzero configurationを謳っていますが、Configuration > Option Referenceのページを見てみるとかなりの数設定項目があります。
ここからキーバインドも含めると大変な量になっていきます。
ですが、基本的にはいい感じのデフォルト値が設定されているので、設定を凝りたい人は設定できるというスタンスみたいです。

私は「設定させていただきありがとうございます」勢なので、まずはひととおりの設定項目とデフォルト値を確認したい訳です。
そんな人のためにGhosttyは次のコマンドを用意してくれています。

ghostty +show-config --default --doc

これで各設定項目のドキュメント付きのデフォルト設定を出力できます。 この設定を$XDG_CONFIG_HOME/ghostty/configに配置したら、デフォルト値や説明を確認しつつ設定を変更しやすくなります。

設定していくのに便利なTips達

基本的にはドキュメントに丁寧な説明が付いているので、頑張って読んでください。
…とはなりますが、その中でも特筆しておいた方がよさそうな物を紹介しておきます。

config-fileの魅力的な部分

config-fileは分割した設定ファイルを読み込むということができます。
設定が大好きな人にとっては狂うほど設定を分割してしまうかもしれません。
私もその一人です。

そんな設定ファイルですが、環境によっては読み込んで欲くないというパターンもあるかもしれません。
ある環境にはファイルが存在しないという状況があるとき、「対象の設定ファイルが存在しないときはエラーにならず無視してくれる」という記法がGhosttyでは用意されています。
私はnixのhome-managerで環境によって配置するファイルを切り替える対応をしています。

https://ghostty.org/docs/config#splitting-into-multiple-files

# これは必ず読み込まれる
config-file = path/to/hoge.conf

# 存在しなかったら読み込まれないし、エラーにもならない
config-file = ?path/to/optional.conf

これにより、ベースとなる設定ファイルを環境毎に編集する手間を省くことが可能になります。

また、後に同じキーで設定を宣言した場合、それよりも前に宣言した設定を上書きするという仕様になっています。
この機能を活かして、環境毎の設定をいい感じに切り替えができます。

themeはconfig-fileと同じように後の設定で上書きされる

私のようにデフォルト設定をリダイレクトを使って設定ファイルを生成した状態から、各種設定をしていくとテーマの適用が思うようにされません。
これには理由がありまして、themeの宣言の後にデフォルトの色設定が宣言されている関係で、themeで宣言したカラー設定が上書きされてしまいます。

これは実際に私が詰った現象のため、私のようにデフォルト設定から設定していく人達に向けてのメッセージにもなります。

themeの種類に関しては、次のコマンドにてプレビューしながら確認できます。
一応、プレビュー内の操作ヘルプの画像も残しておきます。

ghostty +list-themes

ghostty +list-themes ghostty +list-themes help

プレビュー内でthemeの実体パスを確認できるのでnixを使っている私としては、/nix/storeをgrepしなくて助かりました。

themeファイル内で定義されている設定をtheme宣言後の設定で宣言しないように気を付ければ問題はありません。

palette = 0=#RRGGBB
...
palette = 15=#RRGGBB

background
foreground
cursor-color
selection-background
selection-foreground

keybind = clearでデフォルトキーバインドを削除できる

ターミナルエミュレータのキーバインドは、TUIで生活するコマンド操作大好き人間にとっては死活問題です。
私のターミナル内操作の基本はtmuxやvimのため、これらを邪魔して欲しくありません。

そんな同志の方々は、keybind = clearを設定するといいでしょう。
デフォルトのキーバインドを削除して、必要なキーバインドだけを設定させていただけます。

keybind = clear

keybind = ctrl+shift+comma=reload_config
keybind = ctrl+shift+i=inspector:toggle

keybind = ctrl+shift+v=paste_from_clipboard
keybind = shift+insert=paste_from_selection
keybind = ctrl+shift+c=copy_to_clipboard

keybind = ctrl+equal=increase_font_size:1
keybind = ctrl+minus=decrease_font_size:1
keybind = ctrl+zero=reset_font_size

どうでしょう、私はこれくらいしかキーバインドを残していません。

私の設定

yasunori0418/dotfiles/home/.config/ghostty

いろいろと紹介したい設定はありますが、設定のドキュメントを読むというのもいい物です。
参考に私の設定へのリンクを残しておきます。

まとめ

最初はzero configurationで特に設定しなくてもリッチな機能が使えると聞いていましたが、
設定してみるとalacrittyのようにシンプルな状態にできたり、描画に関してもtruecolorに対応していて素敵なTUI生活をお助けしてくれるいいターミナルエミュレータに出会えました。

皆さんも是非、zero configurationといわず設定してみてください。

Licensed under CC BY-NC-SA 4.0
最終更新 2025-01-13T01:03:34
Hugo で構築されています。
テーマ StackJimmy によって設計されています。