kitty terminal emulator
kitty
kitty is cross-platform, fast terminal emulator. Users can customize the terminal in many ways easily with its text based configuration file. I’m using this because it can provide consistent terminal environment over multiple operating systems and has good documentation.
Installation
According to official guide, It requires some dependencies.
Built-time dependencies
Common
gccorclang- go
Linux
apt-get install pkg-config libdbus-1-dev libxcursor-dev libxrandr-dev libxi-dev libxinerama-dev libgl1-mesa-dev libxkbcommon-x11-dev libfontconfig-dev libx11-xcb-dev liblcms2-dev libssl-dev libpython3-dev libxxhash-dev libsimde-dev
macOS
brew install simde pkg-config
Run-time dependencies
Ubuntu
If Python (>= 3.8) does not exists in apt repository, install it manually.
apt-get install harfbuzz zlib libpng liblcms2 libxxhash openssl python
macOS (10.14 or newer)
macOS has old version of system python. Use python version manager like pyenv to install and use newer version of python.
brew install harfbuzz zlib libpng liblcms2 libxxhash openssl freetype fontconfig libcanberra
Build
./dev.sh build
There are other build options such as debug, sanitize. See the guide for the details.
Configuration
Open configuration file with a command Ctrl+Shift+F2 and reload it with Ctrl+Shift+F5 after saving the file. Options can be tested with those commands easily.
Keyboard shortcuts
map {key combination} {action} {args...}
Creation
# create vertical split window where shell's cwd is same as current window
map alt+d launch --location=vsplit --cwd=current
# create horizontal split window
map alt+shift+d launch --location=hsplit --cwd=current
Window traversal
map alt+k neighboring_window up
map alt+h neighboring_window left
map alt+l neighboring_window right
map alt+j neighboring_window down
Tab shortcut
map alt+1 goto_tab 1
map alt+2 goto_tab 2
Fonts
User can make fonts look similar over multiple operating systems by adjusting font options
font_family family='{font name}'
text_composition_strategy 1.0 0
font_size 13.0
modify_font cell_width 95%
modify_font cell_height 0px
Tab bar
This example is for Vim-like tab bar
tab_bar_style separator
tab_title_template " {index}: {tab.active_exe} "
tab_separator " "
inactive_tab_foreground #000000
inactive_tab_background #707070