見出し画像

M4 Max Mac Studioでも Terminal: GhosttyとRust製ツールで極める「爆速」CUI生活

Technical Friday.

私はなぜ、高価な Mac Studio を使いながらも Terminal を中心に作業をしているのでしょうか。

ウルトラワイドならではの快適な terminal 環境

答えは「快適だから」です。

GUI はやっぱりなんだかんだと処理は重いのです。さすがに M4 Max で重いなーと思うことはほとんどありませんが、余計な処理が入ることが多いので、ワンテンポ遅れを感じたりすることがあります。画面の書き換えを感じるというか。

その点、Ghostty を始めとする terminal は快適です。常に速い。描画性能も異常です。

そしてその上で動くほぼ全てのアプリケーションは、同等の画面書き換え性能を持ちます。いらいらが募りません。そして、余計な割り込み処理や、カーソルを隠すようなことがありません。突然何かポップアップしてきたりもしません。シングルタスクをこなす上で、何にも邪魔されないとは最適な構造なのです。

いつも心にTerminalを

エンジニアたるもの、コマンドでものを語れて欲しいと考えています。

マウスがないと何もできない、なんてことはなく、いつでもコマンドだけでどうにかできるエンジニアであって欲しいと願っています。

なぜなら、それがとても楽しいから。

コマンドだけで処理できる容易さを。パズルのようにコマンドを組み合わせる楽しさを。キーボードだけで全てが完結する快適さを。

最近使っているコマンドたち

よく見るとここで紹介している全てのコマンドがここにあります

快適すぎるファイラーです。思った以上に何でもできちゃう。

ど派手な ls の代替品です。モノクロの画面に彩りを。

行番号やコードの Syntax Highlighting ができて、やっぱり派手にしてくれます。なんと git の diff も表現してくれちゃう。やばい。

git のコマンドをど派手にというか、git の状況を一覧で表示して見せてくれるし簡単に変更内容を確認できて予想以上に素晴らしいです。

ちょっとサイバーに top を表現してくれる乙な top です。見てるだけで楽しい。そしてせっかくの大量のリソースを全然使っていないことがわかって切ない。

現行の機能を置き換えられるようなコマンドも多いので、fish で利用する場合には、次のように alias させています。ご参考にどうぞ。なお、bat で表示させています。こんな感じになるんですよ、奥さん。

$ cat ~/.config/fish/conf.d/alias.fish
─────┬─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
     │ File: /Users/sho/.config/fish/conf.d/alias.fish
─────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
   1 │ if status is-interactive
   2 │     # --- エイリアス (爆速化コマンド) ---
   3 │     # ls を eza に置き換え (アイコン・Gitステータス付き)
   4 │     alias ls='eza --icons --git'
   5 │     alias ll='eza -l --icons --git --group-directories-first'
   6 │     alias la='eza -la --icons --git --group-directories-first'
   7 │     alias tree='eza --tree --icons'
   8 │
   9 │     # cat を bat に置き換え
  10 │     alias cat='bat'
  11 │
  12 │     alias lg='lazygit'
  13 │
  14 │     # --- Yazi の設定 (シェルラッパー) ---
  15 │     # 「yy」と打つと yazi が起動し、終了時にそのディレクトリに移動する
  16 │     function yy
  17 │         set tmp (mktemp -t "yazi-cwd.XXXXXX")
  18 │         yazi $argv --cwd-file="$tmp"
  19 │         if set cwd (cat -- "$tmp"); and [ -n "$cwd" ]; and [ "$cwd" != "$PWD" ]
  20 │             cd -- "$cwd"
  21 │         end
  22 │         rm -f -- "$tmp"
  23 │     end
  24 │ end


いいなと思ったら応援しよう!

しょっさん あなたの支えが、私の心の糧になります。 note の収益はガジェットのレビューや、自費出版に使わせていただきます。