DEV Community

Takashi Abe
Takashi Abe

Posted on

M4 Max Mac Studio Terminal_ Mastering Lightning-Fast CUI Life with Ghostty and Rust-Made Tools

Why do I center my work around the Terminal, despite using an expensive Mac Studio?

![Comfortable terminal environment unique to ultrawide displays]

The answer is: because it is comfortable.

GUIs are still heavy on processing, no matter what. I hardly ever feel slowness with the M4 Max, but there are often unnecessary processes that make me feel a slight delay. I can sense the screen redrawing, so to speak.

In contrast, terminals like Ghostty are comfortable. They are always fast. The rendering performance is extraordinary.


Ghostty

Ghostty is a fast, feature-rich, and cross-platform terminal


And almost all applications running on it have the same screen redrawing performance. No frustration builds up. There are no unnecessary interrupt processes, and nothing hides your cursor. Nothing suddenly pops up either. For handling single tasks, not being interrupted by anything is the optimal structure.

Always Keep Terminal in Your Heart

I believe that as an engineer, you should be able to speak through commands.

It is not that you cannot do anything without a mouse—I hope you can be an engineer who can always manage with just commands.

Because it is so much fun.

The ease of processing with just commands. The joy of combining commands like a puzzle. The comfort of completing everything with just a keyboard.

Commands I Have Been Using Lately


Yazi

Blazing fast terminal file manager written in Rust, based on


This is an incredibly comfortable file manager. It can do more than you would expect.

eza is a flashy replacement for ls. It adds color to a monochrome screen.

bat provides line numbers and syntax highlighting for code, making things look flashy as well. It can even show git diffs. Amazing.

lazygit makes git commands flashy—or rather, it displays git status in a list view and lets you easily check changes. It is better than expected.

btop is a stylish top that displays things in a somewhat cyber way. It is fun just to watch. And it is a bit sad to see that all those resources are barely being used.

Since many commands can replace existing functionality, when using fish, I set up aliases as follows. Feel free to use this as a reference. By the way, I am displaying this with bat. This is what it looks like, folks.

$ cat ~/.config/fish/conf.d/alias.fish
─────┬─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
     │ File: /Users/sho/.config/fish/conf.d/alias.fish
─────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
   1 │ if status is-interactive
   2 │     # --- Aliases (speed-boosting commands) ---
   3 │     # Replace ls with eza (with icons and Git status)
   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 │     # Replace cat with bat
  10 │     alias cat='bat'
  11 │
  12 │     alias lg='lazygit'
  13 │
  14 │     # --- Yazi settings (shell wrapper) ---
  15 │     # Type "yy" to launch yazi, and cd to that directory on exit
  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
Enter fullscreen mode Exit fullscreen mode

Top comments (0)