DEV Community

protium
protium

Posted on

2

Kitty configuration for the iTerm user

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
view raw kitty.conf hosted with ❤ by GitHub

One more thing: Themes

Top comments (1)

Collapse
 
raipraveen83 profile image
Praveen Rai

Thanks, Do you have advance config part of kitty. is there way in kitty to scroll unlimited as we have in iterm2.

Eliminate Context Switching and Maximize Productivity

Pieces.app

Pieces Copilot is your personalized workflow assistant, working alongside your favorite apps. Ask questions about entire repositories, generate contextualized code, save and reuse useful snippets, and streamline your development process.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay