Skip to content

my kitty terminal config (the kitty config for tmux users)

Notifications You must be signed in to change notification settings

dan1xk/my-kitty-config

This branch is 7 commits behind ttys3/my-kitty-config:main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

46912b7 · Feb 21, 2024

History

87 Commits
Apr 15, 2022
Feb 21, 2024
Nov 29, 2022
Sep 26, 2022
Oct 31, 2023
Jan 31, 2024
Feb 4, 2024
Jan 31, 2024
Mar 7, 2022
Jan 31, 2024
Apr 12, 2022

Repository files navigation

my-kitty-config

the kitty config for tmux users

the shortcuts (key bindings) is heavily inspired by Oh my tmux!

mainly used under Linux

usage

# backup your config first
# mv ~/.config/kitty  ~/.config/kitty.bak

git clone https://github.com/ttys3/my-kitty-config.git ~/.config/kitty

suggested shell alias

alias icat="kitten icat"
alias s="kitten ssh"
alias d="kitten diff"

Shortcuts

key name see https://github.com/xkbcommon/libxkbcommon/blob/master/include/xkbcommon/xkbcommon-keysyms.h

or using kitty --debug-input to detect keysyms

config

keybindings explain:

ctrl+a>R means: press ctrl + a in the same time, release and then, press R (shift+r)

key description
ctrl+a>R reload config
ctrl+a>E edit config
ctrl+a>D debug config

session

key description
ctrl+a>s save current layout to session file

tab

key description
ctrl+shift+ goto previous tab
ctrl+shift+ goto next tab
ctrl+shift+, move tab backward
ctrl+shift+. move tab forward
ctrl+a>, change tab title
ctrl+a>c create new tab
ctrl+a>x close window / tab

os window

key description
ctrl+q quit kitty
f11 toggle fullscreen

window

key description
ctrl+a>- horizontal split with cwd
ctrl+a>shift+- horizontal split
ctrl+a>\ vertial split with cwd
ctrl+a>shift+\ vertial split
ctrl+a>x close window
ctrl+a>z zoom (maxmize) window
ctrl+shift+r resize window
ctrl+ goto left window
ctrl+ goto right window
ctrl+ goto up window
ctrl+ goto down window
ctrl+a>h goto left window
ctrl+a>l goto right window
ctrl+a>k goto up window
ctrl+a>j goto down window
shift+ move current window to left
shift+ move current window to right
shift+ move current window to up
shift+ move current window to down
alt+n resize window narrower
alt+w resize window wider
alt+u resize window taller
alt+d resize window shorter
ctrl+home resize window reset

font

key description
ctrl+= font size +
ctrl+- font size -
ctrl+0 font size reset

misc

key description
ctrl+a>t kitten themes
ctrl+a>space copy pasting with hints like tmux-thumbs
ctrl+a>ctrl+a send real ctrl+a (emacs shortcut Home)

session restore

if you have used ctrl+a>s generate the session, you do not need this.

you can create your session file under ~/.config/kitty, let's say the filename is session.conf

change startup_session none to startup_session session.conf

create session.conf like this:

new_tab home
layout splits
cd ~
launch zsh
focus

new_tab work
cd ~/work
launch zsh

new_tab nvim
cd ~/.config/nvim
launch zsh

new_tab go
cd ~/repo/go
launch zsh

new_tab rust
cd ~/repo/rust
launch zsh

kitty docs

Keyboard shortcuts https://sw.kovidgoyal.net/kitty/conf/#keyboard-shortcuts

The launch command syntax reference https://sw.kovidgoyal.net/kitty/launch/#syntax-reference

troubleshooting

the behavior of listen_on differs from the behavior of --listen-on cli flag.

the cli one is exactly the same.

the config file one will append a random postfix to the socket name, this is strange logic.

start kitty:

kitty -o allow_remote_control=yes --listen-on unix:/run/user/1000/kitty.sock

on other terminal:

 kitty @ --to unix:/run/user/1000/kitty.sock launch --type=tab --cwd "/tmp" --tab-title "My Tab" --keep-focus bash

About

my kitty terminal config (the kitty config for tmux users)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 95.4%
  • Shell 4.6%