Ghostty Configuration: Difference between revisions

From Rest of What I Know
Created page with "I got recently annoyed with iTerm2 encountering random lag and using infinite CPU slowing everything down. It happened at a moment of personal exasperation so I decided to try out [https://ghostty.org/ Ghostty] since I've tried [https://github.com/alacritty/alacritty alacritty] before and it was too minimal for me. I know some people prefer managing their panes in [https://github.com/tmux/tmux/wiki tmux] but I prefer having my terminal emulator provide windowing features..."
 
Added page description via AutoDescriptor bot
Line 23: Line 23:
keybind = shift+enter=text:\x1b\r
keybind = shift+enter=text:\x1b\r
</syntaxhighlight>
</syntaxhighlight>
{{#seo:|description=Ghostty is a terminal emulator that provides window splits, tabs, and keyboard controls on macOS.}}


[[Category:Troubleshooting]]
[[Category:Troubleshooting]]
[[Category:Tips]]
[[Category:Tips]]

Revision as of 23:43, 30 October 2025

I got recently annoyed with iTerm2 encountering random lag and using infinite CPU slowing everything down. It happened at a moment of personal exasperation so I decided to try out Ghostty since I've tried alacritty before and it was too minimal for me. I know some people prefer managing their panes in tmux but I prefer having my terminal emulator provide windowing features. So the minimal amount of things I needed were:

  • Window Splits
  • Tabs
  • Keyboard control on MacOS to move between those

After I actually used Ghostty, I realized I also wanted:

  • A block cursor, that in neovim follows the insert-mode-bar, normal-mode-block convention
  • Support for Shift-Enter in Claude Code

Ghostty fortunately supports both of these, though it has its MacOS configuration file in a very MacOS location and I would have preferred that it live in ~/.config. It claims to support that path but doesn't actually seem to, so I just decided to use the weird "Application Support" path. In any case, here are the requisite configuration options

# Cursor configuration
# https://github.com/ghostty-org/ghostty/discussions/3836
cursor-style = block
cursor-style-blink = false
shell-integration-features = no-cursor

# Claude Code Shift-Enter
# https://github.com/anthropics/claude-code/issues/1282
keybind = shift+enter=text:\x1b\r