kitty
Kitty: GPU-accelerated terminal emulator
TLDR
Open a new terminal
Open a terminal with the specified title for the window
Start the theme-chooser builtin
Display an image in the terminal
Copy the contents of stdin to the clipboard
SYNOPSIS
kitty [options]
kitty [options] command [arguments...]
kitty +kitten <kitten_name> [kitten_options]
kitty @ <command> [arguments...]
PARAMETERS
-h, --help
Display a help message and exit.
-v, --version
Show kitty version information and exit.
-c <CONFIG_FILE>, --config <CONFIG_FILE>
Specify an alternate configuration file to use instead of the default.
-o <SETTING=VALUE>, --override <SETTING=VALUE>
Override a single setting from the configuration file. This option can be used multiple times.
--directory <DIR>
Start the terminal in the specified directory instead of the current working directory.
--session <SESSION_FILE>
Load a window layout, commands, and options from the specified session file.
--single-instance
Ensure only one instance of kitty is running. New windows will open in the existing instance.
--hold
Keep the terminal window open after the launched command exits.
command [arguments...]
Execute the specified command with its arguments instead of the default shell.
+kitten <kitten_name>
Launch a specific kitten, which is a small, text-based utility included with kitty.
@ <command>
Send a command to a running kitty instance for remote control purposes.
DESCRIPTION
kitty is a modern, cross-platform, GPU-accelerated terminal emulator designed for high performance and extensibility. It offloads all rendering to the GPU, leading to exceptionally smooth scrolling, low input latency, and faster performance, especially when dealing with large amounts of text or complex graphical output. Beyond speed, kitty offers a rich set of features including tabs, tiling windows, Unicode support, true colors, and ligatures for programming fonts.
It is highly configurable via a simple text file, allowing users to customize every aspect from fonts and colors to keybindings and application behavior. kitty also integrates a powerful text-based `kitten` framework, enabling users to extend its functionality with custom tools and integrations. Its architecture prioritizes minimal latency and high throughput, making it a robust and popular choice among developers and power users.
CAVEATS
While kitty is highly performant on systems with dedicated GPUs, its primary advantage is diminished on systems without one, where it falls back to CPU-based rendering. Its extensive configuration options, while powerful, can be overwhelming for new users unfamiliar with text-based configuration files. The `kitten` framework, while extensible, requires a degree of scripting knowledge to fully leverage.
<B>KITTENS</B>
Kittens are small, text-based utilities that ship with kitty and can be run inside the terminal, often performing tasks that would traditionally require a separate GUI application or complex shell scripts. Examples include icat for displaying images, diff for comparing files, and termgraph for plotting data directly within the terminal.
<B>REMOTE CONTROL</B>
kitty features a powerful remote control mechanism, enabled by the @ syntax. This allows external programs or scripts to send commands to a running kitty instance, enabling dynamic window management, session manipulation, and other programmatic interactions without needing to launch a new instance.
<B>CONFIGURATION FILE</B>
The primary configuration for kitty is managed through a simple, human-readable text file, typically located at ~/.config/kitty/kitty.conf. This file allows extensive customization of everything from keybindings, fonts, and colors to advanced rendering and networking settings, giving users fine-grained control over their terminal experience.
HISTORY
Developed by Kovid Goyal, kitty was first publicly released around 2017. It was conceived to address performance and feature limitations of existing terminal emulators, with a strong emphasis on leveraging GPU acceleration for rendering. This design choice set it apart, aiming for minimal latency and high throughput. Over the years, it has continuously evolved, adding features like a robust configuration system, the `kitten` framework for extensibility, and support for modern terminal capabilities like ligatures and true colors, establishing itself as a powerful tool for developers and power users.