Magnolia Tech

いつもコードのことばかり考えている人のために。

Ghosttyを導入した

年明けくらいから常用するターミナルエミュレータGhosttyに切り替えたので、その導入メモ

Ghosttyとは?

  • ミッチェル・ハシモト氏による軽量・高機能なターミナルエミュレータ
  • クロスプラットフォーム(macOSLinux)
  • 各プラットフォームのGUIの挙動に最適化
  • 高い拡張性、シンプルな設定ファイルフォーマット(キーとバリューのペアを記述するだけ)
  • シェル統合や、画像の表示など、現代的なターミナルエミュレータで必要とされる機能を網羅

公式サイト

ghostty.org

設定ファイル

デフォルトでは下記のパスのファイルを編集する

メニューの「Settings...」を選択すると、このファイルが開かれる

$HOME/Library/Application Support/com.mitchellh.ghostty/config

ただし、下記の設定ファイルの場所もサポートされている

$HOME/.config/ghostty/config

非公式設定サイト

設定できる項目が多いので、非公式の設定ファイル編集ツールで設定可能な項目をチェックすることをお勧めする

ghostty.zerebos.com

主な設定項目

font-family

利用できるフォントは、ghostty +list-fontsで確認できる、モノスペースフォントのみが対象

指定しない場合は、Jetbrains Monoが利用される

自分の環境では、ターミナルではちょっとクセのある文字が好みなので、0xProto Nerd Font Monoを使っている

font-feature

リガチャの設定が効き過ぎているので、必ずfont-feature = -dligを設定することをお勧めする

勝手に「ます」が「〼」に変換されて、「文字化けか?」と驚くことになる(「株式会社」を「㍿」に変換するのは、もはや改変では?と思えるし)

デフォルトでリガチャが有効なのは嬉しいけど、ちょっとやり過ぎ感

font-size

モニタとウインドウのサイズに合わせて設定する

theme

ghostty +list-themesで、非常に分かりやすいプレビュー表示が出てくるので、好みの設定に

最近は、tokyonightを使っている

カーソルのスタイルと、ブリンクの設定

mouse-hide-while-typing

キーボードからの入力中に、マウスカーソルを表示するか否か

term

デフォルトでは、xterm-ghosttyが設定されているが、リモートログイン先などでterminfoが無いことで表示が崩れる場合に明示的に設定する

開発版のncursesには既にxterm-ghosttyがマージされているが、リリースされて普及するにはまだ時間がかかりそうなので、当面はxterm-256colorなどを設定しておくのが良さそう

また、その場合、以下の設定を追加することで、sudo実行時に環境変数がリセットされ、term=xterm-ghosttyに戻ることを防ぐことができる

shell-integration-features = sudo

window-widthwindow-height

初期のカラム数、行数を指定する


フォント周りと、テーマ、カラム数、term以外はほとんど設定する必要も無さそうな項目が多く、設定ファイルが大きくならないのは良い