macOS Ghostty tiling setup
-
Open the Ghostty config file with
⌘ + ,(Command + Comma) inside Ghostty. -
Paste the configuration after the comment block message.
# Looks
font-family = Iosevka
window-padding-x = 4
window-padding-y = 4
background-opacity = 1.0
cursor-style = bar
theme = OneHalfDark
# Leader-based tiling (Ctrl+Space as leader)
# Splits
keybind = ctrl+space>s>a=new_split:left
keybind = ctrl+space>s>d=new_split:right
keybind = ctrl+space>s>w=new_split:up
keybind = ctrl+space>s>s=new_split:down
keybind = ctrl+space>s>z=new_split:auto
# Navigate
keybind = ctrl+space>n>a=goto_split:left
keybind = ctrl+space>n>d=goto_split:right
keybind = ctrl+space>n>w=goto_split:up
keybind = ctrl+space>n>s=goto_split:down
# Resize
keybind = ctrl+space>r>a=resize_split:left,30
keybind = ctrl+space>r>d=resize_split:right,30
keybind = ctrl+space>r>w=resize_split:up,30
keybind = ctrl+space>r>s=resize_split:down,30
# Layout management
keybind = ctrl+space>e=equalize_splits
keybind = ctrl+space>z=toggle_split_zoom
keybind = ctrl+space>x=close_surface
# Tabs (optional)
keybind = ctrl+space>t=new_tab
keybind = ctrl+space>[=previous_tab
keybind = ctrl+space>]=next_tab
# QoL
keybind = ctrl+space>c=reload_config
keybind = ctrl+space>o=open_config
# Quick Terminal (macOS)
# Global drop-down on ⌘+`
keybind = global:cmd+grave_accent=toggle_quick_terminal
quick-terminal-position = bottom
quick-terminal-screen = main
quick-terminal-autohide = true
quick-terminal-animation-duration = 0.20
macos-non-native-fullscreen = true
- Optional shell customizations
nano ~/.zshrc
Paste in the following:
# Colorful zsh prompt
autoload -U colors && colors
autoload -Uz vcs_info
precmd() { vcs_info }
setopt prompt_subst
if [[ "$TERM_PROGRAM" == "ghostty" ]]; then
export TERM=xterm-256color
fi
# Format: username@host path [branch]
PROMPT='%F{green}%n@%m %F{blue}%~ %F{yellow}${vcs_info_msg_0_}%f ➜ '
zstyle ':vcs_info:git:*' formats '[%b]'
source ~/.zshrc
Ctrl + Space, s, a→ new split leftCtrl + Space, s, d→ new split rightCtrl + Space, s, w→ new split upCtrl + Space, s, s→ new split downCtrl + Space, s, z→ auto split
Ctrl + Space, n, a→ move focus leftCtrl + Space, n, d→ move focus rightCtrl + Space, n, w→ move focus upCtrl + Space, n, s→ move focus down
Ctrl + Space, r, a→ resize in that directionCtrl + Space, r, d→ resize in that directionCtrl + Space, r, w→ resize in that directionCtrl + Space, r, s→ resize in that direction
Ctrl + Space, e→ equalize splitsCtrl + Space, z→ zoom/unzoom current splitCtrl + Space, x→ close current split
Ctrl + Space, t→ new tabCtrl + Space, [→ previous tabCtrl + Space, ]→ next tab
Ctrl + Space, c→ reload configCtrl + Space, o→ open config
⌘ + backtick→ for global quick terminal (requires Accessibility permission on macOS - grant macOS Accessibility when prompted or enable in Settings → Privacy & Security → Accessibility)