From d46819e85208851301a6bc34e083ed6796bd8738 Mon Sep 17 00:00:00 2001 From: Martin Larsson Date: Sat, 19 Jul 2025 15:38:43 +0200 Subject: [PATCH] Fix window swapping keybinds in neovim --- ghostty/config | 6 ++++++ nvim/lua/window_management.lua | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/ghostty/config b/ghostty/config index 9ed6743..38dc3ef 100644 --- a/ghostty/config +++ b/ghostty/config @@ -63,3 +63,9 @@ keybind = alt+left=unbind keybind = alt+right=unbind keybind = ctrl+shift+left=unbind keybind = ctrl+shift+right=unbind + +# send CSI-u style codes for Ctrl+Shift+H/J/K/L +keybind = ctrl+shift+h=csi:11~ +keybind = ctrl+shift+j=csi:12~ +keybind = ctrl+shift+k=csi:13~ +keybind = ctrl+shift+l=csi:14~ diff --git a/nvim/lua/window_management.lua b/nvim/lua/window_management.lua index cffd330..1261bc4 100644 --- a/nvim/lua/window_management.lua +++ b/nvim/lua/window_management.lua @@ -271,6 +271,11 @@ function M.setup() { "", function() enter_resizing_mode() end } } local window_shifting_keymaps = { + -- F1 through F4 are bound to C-S-h through C-S-l in Tmux and sent as escape sequences. + { "", function() swap_window("h") end }, + { "", function() swap_window("j") end }, + { "", function() swap_window("k") end }, + { "", function() swap_window("l") end }, { "", function() swap_window("h") end }, { "", function() swap_window("j") end }, { "", function() swap_window("k") end },