After two years of efforts and a $300k donation to the Zig Software Foundation, Mitchell Hashimoto has just announced the availability of version 1.0 of his Ghostty terminal emulator. He wanted Ghostty to be fast, feature-rich, and native on MacOS and Linux. I couldn’t find on the documentation a list of default key bindings for MacOS so here it is, plus some more stuff that I used extracted from the documentation. We don’t see any new terminal emulator often, so I urge you to try it out.
macos | description |
---|---|
⌘D | split right |
⇧⌘D | split down |
⌘ t | create tab |
⌘=, ⌘-, ⌘0 | increase, decrease, reset font size |
⌘[ , ⌘] | select previous, next Split |
⌥⌘ ↑, ↓, →, ← | select above, below, left, right |
⌃⌘ ↑, ↓, →, ←, = | move divider up, down, right, left or equalize |
⌘↵ | Toggle fullscreen |
⇧⌘↵ | Zoom/Dezoom Split |
⌥ click | moves the cursor to the click location |
⌘, | edit configuration |
⇧⌘, | reload configuration |
CLI examples
Ghostty can also be run on the command line to perform various actions
ghostty +list-themes [currently: Solarized Dark Higher Contrast]
ghostty +list-fonts
ghostty +show-config --default --docs
Installation
on MacOS
brew install --cask ghostty
on Archlinux
pacman -S ghostty
FAQ
Configure SSH to fall back to a known terminfo entry
# .ssh/config
Host example.com
SetEnv TERM=xterm-256color
But it would be wiser to use instead such a one liner to get all of Ghostty features
infocmp -x | ssh YOUR-SERVER -- tic -x -
My Current (light) configuration
Ghostty is advertised as a zero config terminal, I just have the following lines
# app
theme = Solarized Dark Higher Contrast
fullscreen = true
macos-titlebar-style = transparent
# window
window-padding-balance = true
window-padding-x = 4
window-padding-y = 4
window-save-state = always
focus-follows-mouse = true
unfocused-split-opacity = 0.5
# font
font-family = Monaspace Neon
font-size = 16
font-thicken = true
bold-is-bright = true
# other
clipboard-read = allow
clipboard-write = allow
copy-on-select = clipboard
shell-integration-features = cursor,sudo,no-title
mouse-hide-while-typing = true
Usefull Links
- Ghostty documentation
- Ghostty config generator
- Monaspace fonts
- Shell keybindings