Kitty terminalλ︎
Kitty Terminal is a fast, feature-rich, GPU based terminal emulator providing additional features via+kitten
extensions.
Installλ︎
Use the installer script to install in ~/.local/kitty.app on Linux
and /Applications/kitty.app
on macOS.
Install script for Linux & MacOSX
Add kitty and kitten to the operating system path by creating symbolic links
Install script for Linux & MacOSX
Include kitty in desktop launchers using the kitty.desktop file
Symbolic link for Kitty desktop application
Open text files and images in kitty via the file manager
Symbolic link for Kitty file manager support
Alternatively, download from GitHub releases or use one of the package managers for your operating system.
Copy the installed configuration to make personal changes, or start a new configuration file in ~/.config/kitty/kitty.conf
Configurationλ︎
Practicalli recommends the following configuration for Kitty terminal across multiple operating systems
Practicalli Kitty configuration
# ---------------------------------------------------------
# Practicalli Kitty terminal theme
#
# Configuration using GitHub theme with light and dark options
# using FiraCode font and NerdFont symbol mappings for icon support
# for powerline10k and web-devicons in Neovim
# ---------------------------------------------------------
# ---------------------------------------------------------
# Colorscheme / Icons
# Icons from NerdFont (install Nerdfont symbols only theme)
include ./nerdfont-icons.conf
# `kitty +kitten theme` to browse available themes and apply one
# `kitty +kitten theme theme-name` to change themes automatically
# Favorite themese include:
# Catppuccin-Latte and Catppuccin-Mocha
# GitHub Light and GitHub Dark
# BEGIN_KITTY_THEME
# GitHub Dark
include current-theme.conf
# END_KITTY_THEME
# ---------------------------------------------------------
# ---------------------------------------------------------
# Feedback
enable_audio_bell no
# visual_bell_color none
# ---------------------------------------------------------
# ---------------------------------------------------------
# Tab styles
# fade slant separator powerline custom hidden
tab_bar_style powerline
tab_bar_align left
tab_powerline_style angled
# ---------------------------------------------------------
# ---------------------------------------------------------
# Fonts
font_family FiraCode
# Patched fonts (not recommended for Kitty)
# font_family MesloLGS NF
# font_family Fira Code NF
# bold_font auto
# italic_font auto
# bold_italic_font auto
font_size 14
# adjust_line_height 0
# adjust_column_width 0
# adjust_baseline 0
# ---------------------------------------------------------
Fontsλ︎
Nerd Fonts are recommended to provide icon support in Kitty
Download a Nerd Font and configure the font in kitty.conf
Or download the Symbols Nerd Font
font package for use with any font and add the Nerd Font symbols to Kitty via a symbol map configuration.
Kitty Configuration for Nerd Fonts symbol map
# ---------------------------------------------------------
# NerdFont icons via symbol maps
#
# Kitty recommends mapping symbols rather than using patched fonts
#
# Download symbols only font from
# <https://github.com/ryanoasis/nerd-fonts/blob/master/src/glyphs/Symbols-2048-em%20Nerd%20Font%20Complete.ttf>
#
# List available fonts with:
# kitty +list-fonts
#
# Troubleshoot missing/incorrect characters with:
# kitty --debug-font-fallback
#
# Reference: <https://erwin.co/kitty-and-nerd-fonts/>
# Symbols Nerd Font - complete symbol_map
# "Nerd Fonts - Pomicons"
symbol_map U+E000-U+E00D Symbols Nerd Font
# "Nerd Fonts - Powerline"
symbol_map U+e0a0-U+e0a2,U+e0b0-U+e0b3 Symbols Nerd Font
# "Nerd Fonts - Powerline Extra"
symbol_map U+e0a3-U+e0a3,U+e0b4-U+e0c8,U+e0cc-U+e0d2,U+e0d4-U+e0d4 Symbols Nerd Font
# "Nerd Fonts - Symbols original"
symbol_map U+e5fa-U+e62b Symbols Nerd Font
# "Nerd Fonts - Devicons"
symbol_map U+e700-U+e7c5 Symbols Nerd Font
# "Nerd Fonts - Font awesome"
symbol_map U+f000-U+f2e0 Symbols Nerd Font
# "Nerd Fonts - Font awesome extension"
symbol_map U+e200-U+e2a9 Symbols Nerd Font
# "Nerd Fonts - Octicons"
symbol_map U+f400-U+f4a8,U+2665-U+2665,U+26A1-U+26A1,U+f27c-U+f27c Symbols Nerd Font
# "Nerd Fonts - Font Linux"
symbol_map U+F300-U+F313 Symbols Nerd Font
# Nerd Fonts - Font Power Symbols"
symbol_map U+23fb-U+23fe,U+2b58-U+2b58 Symbols Nerd Font
# "Nerd Fonts - Material Design Icons"
symbol_map U+f500-U+fd46 Symbols Nerd Font
# "Nerd Fonts - Weather Icons"
symbol_map U+e300-U+e3eb Symbols Nerd Font
# Misc Code Point Fixes
symbol_map U+21B5,U+25B8,U+2605,U+2630,U+2632,U+2714,U+E0A3,U+E615,U+E62B Symbols Nerd Font
# ---------------------------------------------------------
Multiple sessionsλ︎
Create a new terminal session without leaving kitty by creating a new tab or a window split.
Ctrl+Shift+T to create a new session in a tab window
Ctrl+Shift+Left or Right to switch between tabs to the left or right
Ctrl+Shift+Q to close a window
Ctrl+Shift+Enter to create a new session in split window
Ctrl+Shift+[ or ] to switch between window splits
Ctrl+Shift+W to close a window
Other common commands include:
Ctrl+Shift+= to increase the font size without restarting kitty
Ctrl+Shift+- to increase the font size without restarting kitty
Ctrl+Shift+F11 to toggle kitty full-screen
Ctrl+Shift+c copy from kitty terminal to clipboard
Ctrl+Shift+v paste into to kitty terminal from clipboard
Ctrl+Shift+s paste into to kitty terminal from clipboard Paste from Selection Ctrl+Shift+S
Kitten featuresλ︎
kittens provide additional features. Recommended features include:
- Theme kitten - in-terminal theme browser and selector
- diff - fast, side-by-side diff for the terminal with syntax highlighting
- Clipboard - Copy/paste to the clipboard from shell scripts, even over SSH
- SSH - SSH with automatic shell integration, connection re-use for low latency and easy cloning of local shell and editor configuration to the remote host
Themesλ︎
Theme kitten provides a simple way to browse available themes and select a theme for use
Browse available themes and apply one, or Ctrl+c to cancel
Change themes automatically to the given theme name (the theme must exist)
Themes used by Practicalli
Practicalli uses the Gruvbox Material Light Soft as the light theme
Practicalli uses Gruvbox Material Dark Soft as the dark themeThe first time the theme kitten is run the following config is added to the ~.config/kitty/kitty.conf
file and the chosen theme configuration written to the ~/.config/kitty/current-theme.conf
file
This configuration shows the name of the theme, which is also in the top of the current-theme.conf
file
Icon support from Nerd fonts, download and include the configuration to show icons in terminal based editors (e.g. Neovim, Emacs, etc.)
Diffλ︎
The Diff kitten provides a fast way to compare files, although there is no support for merging changes.
Kitty supports diff of image files, showing the two images side by side.
, or > jumps to next diff match
. or < jumps to previous diff match
SSHλ︎
The +kitten
option ensures the remote environment is configured correctly for the Kitty terminal
Image viewerλ︎
create an alias in your shell configuration file, e.g. shell-aliases