Give kitty alt+shift+enter power for tmux vertical splits

This commit is contained in:
David Heinemeier Hansson
2026-05-25 10:30:16 +02:00
parent 41593cd448
commit e9d275298d
3 changed files with 25 additions and 0 deletions
+2
View File
@@ -13,6 +13,8 @@ confirm_os_window_close 0
# Keybindings
map ctrl+insert copy_to_clipboard
map shift+insert paste_from_clipboard
# Kitty legacy encoding sends Alt+Shift+Enter the same as Alt+Enter; send CSI-u so tmux can match M-S-Enter.
map alt+shift+enter send_text all \e[13;4u
# Allow remote access
allow_remote_control yes
+1
View File
@@ -77,6 +77,7 @@ setw -g aggressive-resize on
set -g detach-on-destroy off
set -g extended-keys on
set -g extended-keys-format csi-u
set -g terminal-features[3] "xterm-kitty:extkeys"
set -sg escape-time 10
# Status bar
+22
View File
@@ -0,0 +1,22 @@
echo "Make Alt+Shift+Enter distinguishable for Kitty and tmux"
kitty_config="$HOME/.config/kitty/kitty.conf"
tmux_config="$HOME/.config/tmux/tmux.conf"
if [[ -f $kitty_config ]] && ! grep -Eq '^map[[:space:]]+alt\+shift\+enter[[:space:]]' "$kitty_config"; then
if grep -qxF 'map shift+insert paste_from_clipboard' "$kitty_config"; then
sed -i '/^map shift+insert paste_from_clipboard$/a # Kitty legacy encoding sends Alt+Shift+Enter the same as Alt+Enter; send CSI-u so tmux can match M-S-Enter.\nmap alt+shift+enter send_text all \\e[13;4u' "$kitty_config"
else
printf '\n# Kitty legacy encoding sends Alt+Shift+Enter the same as Alt+Enter; send CSI-u so tmux can match M-S-Enter.\nmap alt+shift+enter send_text all \\e[13;4u\n' >>"$kitty_config"
fi
fi
if [[ -f $tmux_config ]] && grep -qxF "set -as terminal-features ',xterm-kitty:extkeys'" "$tmux_config"; then
sed -i 's/^set -as terminal-features '"'"',xterm-kitty:extkeys'"'"'$/set -g terminal-features[3] "xterm-kitty:extkeys"/' "$tmux_config"
elif [[ -f $tmux_config ]] && ! grep -q 'xterm-kitty:extkeys' "$tmux_config" && ! grep -Eq '^(set|set-option)[[:space:]].*terminal-features' "$tmux_config"; then
if grep -qxF 'set -g extended-keys-format csi-u' "$tmux_config"; then
sed -i '/^set -g extended-keys-format csi-u$/a set -g terminal-features[3] "xterm-kitty:extkeys"' "$tmux_config"
else
printf '\nset -g terminal-features[3] "xterm-kitty:extkeys"\n' >>"$tmux_config"
fi
fi