I've been using kitty for a couple of days and I really like it.
As I come from years of using iTerm, I immediately had problems with the default configuration and key mappings. So today I'm sharing all the configurations that made my transition super smooth.
First a list of what I wanted to achieve
- Minimal UI (no borders, no title bar decorations)
-
ctrl + d
for vertical split -
ctrl + shit + d
for horizontal split -
ctrl + w
close split or tab -
ctrl + t
new tab -
cmd + arrow left/right
move to beginning/end of line -
option + arrow left/right
move to beginning/end of word -
cmd c/v
copy/paste from clipboard
Here a gist with my current configuration
# vim:fileencoding=utf-8:foldmethod=marker | |
# Include theme | |
include ./theme.conf | |
# ===== Config ===== | |
font_family CaskaydiaCove Nerd Font | |
font_size 16.0 | |
draw_minimal_borders yes | |
inactive_text_alpha 0.7 | |
hide_window_decorations no | |
editor nvim | |
macos_titlebar_color background | |
macos_thicken_font 0.75 | |
active_border_color none | |
# default layout is vertical splits only | |
enabled_layouts splits | |
window_border_width 0px | |
enable_audio_bell no | |
# tab bar styles | |
tab_bar_edge top | |
tab_title_template "{fmt.fg.c2c2c2}{title}" | |
active_tab_title_template "{fmt.fg._fff}{title}" | |
tab_bar_style slant | |
active_tab_foreground #fff | |
active_tab_background #E34D65 | |
inactive_tab_foreground #c2c2c2 | |
inactive_tab_background #E34D65 | |
scrollback_lines 4000 | |
# ===== Mappings ===== | |
# open new split (window) with cmd+d retaining the cwd | |
map cmd+w close_window | |
map cmd+shif+n new_os_window | |
map cmd+d launch --location=hsplit --cwd=current | |
map cmd+shift+d launch --location=vsplit --cwd=current | |
# open new tab with cmd+t | |
map cmd+t new_tab | |
# switch between next and previous splits | |
map cmd+] next_window | |
map cmd+[ previous_window | |
# clear the terminal screen | |
map cmd+k combine : clear_terminal scrollback active : send_text normal,application \x0c | |
# jump to beginning and end of word | |
map alt+left send_text all \x1b\x62 | |
map alt+right send_text all \x1b\x66 | |
# jump to beginning and end of line | |
map cmd+left send_text all \x01 | |
map cmd+right send_text all \x05 | |
# Map cmd + <num> to corresponding tabs | |
map cmd+1 goto_tab 1 | |
map cmd+2 goto_tab 2 | |
map cmd+3 goto_tab 3 | |
map cmd+4 goto_tab 4 | |
map cmd+5 goto_tab 5 | |
map cmd+6 goto_tab 6 | |
map cmd+7 goto_tab 7 | |
map cmd+8 goto_tab 8 | |
map cmd+9 goto_tab 9 | |
# changing font sizes | |
map cmd+equal change_font_size all +2.0 | |
map cmd+minus change_font_size all -2.0 | |
map cmd+0 change_font_size all 0 | |
map cmd+c copy_to_clipboard | |
map cmd+v paste_from_clipboard |
One more thing: Themes
Top comments (1)
Thanks, Do you have advance config part of kitty. is there way in kitty to scroll unlimited as we have in iterm2.