multiplexer keybinds

This commit is contained in:
Zackarias Montell
2025-05-15 13:32:48 +02:00
parent 2751758fc5
commit f5b3c64aa1

View File

@@ -1,195 +1,201 @@
local wezterm = require 'wezterm'; local wezterm = require("wezterm")
local act = wezterm.action local act = wezterm.action
default_prog = {'pwsh.exe', '-NoProfile', '-Command', '& { . ~/.profile.ps1; $host.EnterNestedPrompt() }'} local default_prog = { "pwsh.exe", "-NoProfile", "-Command", "& { . ~/.profile.ps1; $host.EnterNestedPrompt() }" }
return { return {
default_prog = default_prog, default_prog = default_prog,
check_for_updates=true, check_for_updates = true,
term = "xterm-256color", term = "xterm-256color",
use_ime = true, use_ime = true,
---------------- ----------------
-- Appearance -- -- Appearance --
---------------- ----------------
window_background_opacity = 1, window_background_opacity = 1,
color_scheme = "Catppuccin Mocha", color_scheme = "Catppuccin Mocha",
window_padding = { window_padding = {
left = 3, right = 3, left = 3,
top = 3, bottom = 3, right = 3,
}, top = 3,
bottom = 3,
},
inactive_pane_hsb = { inactive_pane_hsb = {
saturation = 1, saturation = 1,
brightness = 1, brightness = 1,
}, },
initial_rows = 50, initial_rows = 50,
initial_cols = 140, initial_cols = 140,
use_fancy_tab_bar = false, use_fancy_tab_bar = false,
hide_tab_bar_if_only_one_tab = true, hide_tab_bar_if_only_one_tab = true,
tab_bar_at_bottom=false, tab_bar_at_bottom = false,
-- How many lines of scrollback you want to retain per tab -- How many lines of scrollback you want to retain per tab
scrollback_lines = 3500, scrollback_lines = 3500,
enable_scroll_bar = true, enable_scroll_bar = true,
----------- -----------
-- Fonts -- -- Fonts --
----------- -----------
--disable_default_key_bindings = true, --disable_default_key_bindings = true,
--line_height = 1, --line_height = 1,
font = wezterm.font("Fira Code Nerd Font"), font = wezterm.font("Fira Code Nerd Font"),
font = wezterm.font("JetBrains Mono", {weight="Bold", italic=false}), font = wezterm.font("JetBrains Mono", { weight = "Bold", italic = false }),
font_size = 14.0, font_size = 14.0,
----------- -----------
-- Keys -- -- Keys --
----------- -----------
-- Rather than emitting fancy composed characters when alt is pressed, treat the -- Rather than emitting fancy composed characters when alt is pressed, treat the
-- input more like old school ascii with ALT held down -- input more like old school ascii with ALT held down
send_composed_key_when_left_alt_is_pressed = false, send_composed_key_when_left_alt_is_pressed = false,
send_composed_key_when_right_alt_is_pressed = false, send_composed_key_when_right_alt_is_pressed = false,
-- change here to key="b", mods="CMD" for ^+b equivalent in tmux. -- change here to key="b", mods="CMD" for ^+b equivalent in tmux.
leader = { key="b", mods="CTRL", timeout_milliseconds=1000 }, leader = { key = "b", mods = "CTRL", timeout_milliseconds = 1000 },
keys = { keys = {
{key = "LeftArrow" , mods = "OPT", action = act.SendString("\x1bb")}, { key = "LeftArrow", mods = "OPT", action = act.SendString("\x1bb") },
{key = "RightArrow", mods = "OPT", action = act.SendString("\x1bf")}, { key = "RightArrow", mods = "OPT", action = act.SendString("\x1bf") },
-- The physical CMD key on OSX is the Alt key on Win/*nix, so map the common Alt-combo commands. -- The physical CMD key on OSX is the Alt key on Win/*nix, so map the common Alt-combo commands.
{key = ".", mods = "CMD", action = act.SendString("\x1b.")}, { key = ".", mods = "CMD", action = act.SendString("\x1b.") },
{key = "p", mods = "CMD", action = act.SendString("\x1bp")}, { key = "p", mods = "CMD", action = act.SendString("\x1bp") },
{key = "n", mods = "CMD", action = act.SendString("\x1bn")}, { key = "n", mods = "CMD", action = act.SendString("\x1bn") },
{key = "b", mods = "CMD", action = act.SendString("\x1bb")}, { key = "b", mods = "CMD", action = act.SendString("\x1bb") },
{key = "f", mods = "CMD", action = act.SendString("\x1bf")}, { key = "f", mods = "CMD", action = act.SendString("\x1bf") },
-- Window management -- Window management
{key="a", mods="LEADER", action=act{SendString="`"}}, { key = "a", mods = "LEADER", action = act({ SendString = "`" }) },
{key='|', mods="LEADER", action=act{SplitVertical={domain="CurrentPaneDomain"}} }, { key = "h", mods = "LEADER", action = act({ SplitVertical = { domain = "CurrentPaneDomain" } }) },
{key='-', mods="LEADER", action=act.SplitHorizontal{domain="CurrentPaneDomain"}}, { key = "s", mods = "LEADER", action = act.SplitHorizontal({ domain = "CurrentPaneDomain" }) },
{key="z", mods="LEADER", action="TogglePaneZoomState" }, { key = "z", mods = "LEADER", action = "TogglePaneZoomState" },
{key="c", mods="LEADER", action=act{SpawnTab="CurrentPaneDomain"}}, { key = "c", mods = "LEADER", action = act({ SpawnTab = "CurrentPaneDomain" }) },
{key="LeftArrow", mods="LEADER", action=act.ActivatePaneDirection("Left")}, { key = "LeftArrow", mods = "LEADER", action = act.ActivatePaneDirection("Left") },
{key="DownArrow", mods="LEADER", action=act.ActivatePaneDirection("Down")}, { key = "DownArrow", mods = "LEADER", action = act.ActivatePaneDirection("Down") },
{key="UpArrow", mods="LEADER", action=act.ActivatePaneDirection("Up")}, { key = "UpArrow", mods = "LEADER", action = act.ActivatePaneDirection("Up") },
{key="RightArrow", mods="LEADER", action=act.ActivatePaneDirection("Right")}, { key = "RightArrow", mods = "LEADER", action = act.ActivatePaneDirection("Right") },
{key="h", mods="LEADER", action=act.ActivatePaneDirection("Left")}, { key = "h", mods = "LEADER", action = act.ActivatePaneDirection("Left") },
{key="j", mods="LEADER", action=act.ActivatePaneDirection("Down")}, { key = "j", mods = "LEADER", action = act.ActivatePaneDirection("Down") },
{key="k", mods="LEADER", action=act.ActivatePaneDirection("Up")}, { key = "k", mods = "LEADER", action = act.ActivatePaneDirection("Up") },
{key="l", mods="LEADER", action=act.ActivatePaneDirection("Right")}, { key = "l", mods = "LEADER", action = act.ActivatePaneDirection("Right") },
{key="H", mods="LEADER", action=act{AdjustPaneSize={"Left", 5}}}, { key = "H", mods = "LEADER", action = act({ AdjustPaneSize = { "Left", 5 } }) },
{key="J", mods="LEADER", action=act{AdjustPaneSize={"Down", 5}}}, { key = "J", mods = "LEADER", action = act({ AdjustPaneSize = { "Down", 5 } }) },
{key="K", mods="LEADER", action=act{AdjustPaneSize={"Up", 5}}}, { key = "K", mods = "LEADER", action = act({ AdjustPaneSize = { "Up", 5 } }) },
{key="L", mods="LEADER", action=act{AdjustPaneSize={"Right", 5}}}, { key = "L", mods = "LEADER", action = act({ AdjustPaneSize = { "Right", 5 } }) },
{key="`", mods="LEADER", action=act.ActivateLastTab}, { key = "`", mods = "LEADER", action = act.ActivateLastTab },
{key=" ", mods="LEADER", action=act.ActivateTabRelative(1)}, { key = " ", mods = "LEADER", action = act.ActivateTabRelative(1) },
{key="1", mods="LEADER", action=act{ActivateTab=0}}, { key = "1", mods = "LEADER", action = act({ ActivateTab = 0 }) },
{key="2", mods="LEADER", action=act{ActivateTab=1}}, { key = "2", mods = "LEADER", action = act({ ActivateTab = 1 }) },
{key="3", mods="LEADER", action=act{ActivateTab=2}}, { key = "3", mods = "LEADER", action = act({ ActivateTab = 2 }) },
{key="4", mods="LEADER", action=act{ActivateTab=3}}, { key = "4", mods = "LEADER", action = act({ ActivateTab = 3 }) },
{key="5", mods="LEADER", action=act{ActivateTab=4}}, { key = "5", mods = "LEADER", action = act({ ActivateTab = 4 }) },
{key="6", mods="LEADER", action=act{ActivateTab=5}}, { key = "6", mods = "LEADER", action = act({ ActivateTab = 5 }) },
{key="7", mods="LEADER", action=act{ActivateTab=6}}, { key = "7", mods = "LEADER", action = act({ ActivateTab = 6 }) },
{key="8", mods="LEADER", action=act{ActivateTab=7}}, { key = "8", mods = "LEADER", action = act({ ActivateTab = 7 }) },
{key="9", mods="LEADER", action=act{ActivateTab=8}}, { key = "9", mods = "LEADER", action = act({ ActivateTab = 8 }) },
{key="x", mods="LEADER", action=act{CloseCurrentPane={confirm=true}}}, { key = "x", mods = "LEADER", action = act({ CloseCurrentPane = { confirm = true } }) },
-- Activate Copy Mode -- Activate Copy Mode
{key="[", mods="LEADER", action=act.ActivateCopyMode}, { key = "[", mods = "LEADER", action = act.ActivateCopyMode },
-- Paste from Copy Mode -- Paste from Copy Mode
{key="]", mods="LEADER", action=act.PasteFrom("PrimarySelection")}, { key = "]", mods = "LEADER", action = act.PasteFrom("PrimarySelection") },
}, },
key_tables = { key_tables = {
-- added new shortcuts to the end -- added new shortcuts to the end
copy_mode = { copy_mode = {
{key="c", mods="CTRL", action=act.CopyMode("Close")}, { key = "c", mods = "CTRL", action = act.CopyMode("Close") },
{key="g", mods="CTRL", action=act.CopyMode("Close")}, { key = "g", mods = "CTRL", action = act.CopyMode("Close") },
{key="q", mods="NONE", action=act.CopyMode("Close")}, { key = "q", mods = "NONE", action = act.CopyMode("Close") },
{key="Escape", mods="NONE", action=act.CopyMode("Close")}, { key = "Escape", mods = "NONE", action = act.CopyMode("Close") },
{key="h", mods="NONE", action=act.CopyMode("MoveLeft")}, { key = "h", mods = "NONE", action = act.CopyMode("MoveLeft") },
{key="j", mods="NONE", action=act.CopyMode("MoveDown")}, { key = "j", mods = "NONE", action = act.CopyMode("MoveDown") },
{key="k", mods="NONE", action=act.CopyMode("MoveUp")}, { key = "k", mods = "NONE", action = act.CopyMode("MoveUp") },
{key="l", mods="NONE", action=act.CopyMode("MoveRight")}, { key = "l", mods = "NONE", action = act.CopyMode("MoveRight") },
{key="LeftArrow", mods="NONE", action=act.CopyMode("MoveLeft")}, { key = "LeftArrow", mods = "NONE", action = act.CopyMode("MoveLeft") },
{key="DownArrow", mods="NONE", action=act.CopyMode("MoveDown")}, { key = "DownArrow", mods = "NONE", action = act.CopyMode("MoveDown") },
{key="UpArrow", mods="NONE", action=act.CopyMode("MoveUp")}, { key = "UpArrow", mods = "NONE", action = act.CopyMode("MoveUp") },
{key="RightArrow", mods="NONE", action=act.CopyMode("MoveRight")}, { key = "RightArrow", mods = "NONE", action = act.CopyMode("MoveRight") },
{key="RightArrow", mods="ALT", action=act.CopyMode("MoveForwardWord")}, { key = "RightArrow", mods = "ALT", action = act.CopyMode("MoveForwardWord") },
{key="f", mods="ALT", action=act.CopyMode("MoveForwardWord")}, { key = "f", mods = "ALT", action = act.CopyMode("MoveForwardWord") },
{key="Tab", mods="NONE", action=act.CopyMode("MoveForwardWord")}, { key = "Tab", mods = "NONE", action = act.CopyMode("MoveForwardWord") },
{key="w", mods="NONE", action=act.CopyMode("MoveForwardWord")}, { key = "w", mods = "NONE", action = act.CopyMode("MoveForwardWord") },
{key="LeftArrow", mods="ALT", action=act.CopyMode("MoveBackwardWord")}, { key = "LeftArrow", mods = "ALT", action = act.CopyMode("MoveBackwardWord") },
{key="b", mods="ALT", action=act.CopyMode("MoveBackwardWord")}, { key = "b", mods = "ALT", action = act.CopyMode("MoveBackwardWord") },
{key="Tab", mods="SHIFT", action=act.CopyMode("MoveBackwardWord")}, { key = "Tab", mods = "SHIFT", action = act.CopyMode("MoveBackwardWord") },
{key="b", mods="NONE", action=act.CopyMode("MoveBackwardWord")}, { key = "b", mods = "NONE", action = act.CopyMode("MoveBackwardWord") },
{key="0", mods="NONE", action=act.CopyMode("MoveToStartOfLine")}, { key = "0", mods = "NONE", action = act.CopyMode("MoveToStartOfLine") },
{key="Enter", mods="NONE", action=act.CopyMode("MoveToStartOfNextLine")}, { key = "Enter", mods = "NONE", action = act.CopyMode("MoveToStartOfNextLine") },
{key="$", mods="NONE", action=act.CopyMode("MoveToEndOfLineContent")}, { key = "$", mods = "NONE", action = act.CopyMode("MoveToEndOfLineContent") },
{key="$", mods="SHIFT", action=act.CopyMode("MoveToEndOfLineContent")}, { key = "$", mods = "SHIFT", action = act.CopyMode("MoveToEndOfLineContent") },
{key="^", mods="NONE", action=act.CopyMode("MoveToStartOfLineContent")}, { key = "^", mods = "NONE", action = act.CopyMode("MoveToStartOfLineContent") },
{key="^", mods="SHIFT", action=act.CopyMode("MoveToStartOfLineContent")}, { key = "^", mods = "SHIFT", action = act.CopyMode("MoveToStartOfLineContent") },
{key="m", mods="ALT", action=act.CopyMode("MoveToStartOfLineContent")}, { key = "m", mods = "ALT", action = act.CopyMode("MoveToStartOfLineContent") },
{key=" ", mods="NONE", action=act.CopyMode{SetSelectionMode="Cell"}}, { key = " ", mods = "NONE", action = act.CopyMode({ SetSelectionMode = "Cell" }) },
{key="v", mods="NONE", action=act.CopyMode{SetSelectionMode="Cell"}}, { key = "v", mods = "NONE", action = act.CopyMode({ SetSelectionMode = "Cell" }) },
{key="V", mods="NONE", action=act.CopyMode{SetSelectionMode="Line"}}, { key = "V", mods = "NONE", action = act.CopyMode({ SetSelectionMode = "Line" }) },
{key="V", mods="SHIFT", action=act.CopyMode{SetSelectionMode="Line"}}, { key = "V", mods = "SHIFT", action = act.CopyMode({ SetSelectionMode = "Line" }) },
{key="v", mods="CTRL", action=act.CopyMode{SetSelectionMode="Block"}}, { key = "v", mods = "CTRL", action = act.CopyMode({ SetSelectionMode = "Block" }) },
{key="G", mods="NONE", action=act.CopyMode("MoveToScrollbackBottom")}, { key = "G", mods = "NONE", action = act.CopyMode("MoveToScrollbackBottom") },
{key="G", mods="SHIFT", action=act.CopyMode("MoveToScrollbackBottom")}, { key = "G", mods = "SHIFT", action = act.CopyMode("MoveToScrollbackBottom") },
{key="g", mods="NONE", action=act.CopyMode("MoveToScrollbackTop")}, { key = "g", mods = "NONE", action = act.CopyMode("MoveToScrollbackTop") },
{key="H", mods="NONE", action=act.CopyMode("MoveToViewportTop")}, { key = "H", mods = "NONE", action = act.CopyMode("MoveToViewportTop") },
{key="H", mods="SHIFT", action=act.CopyMode("MoveToViewportTop")}, { key = "H", mods = "SHIFT", action = act.CopyMode("MoveToViewportTop") },
{key="M", mods="NONE", action=act.CopyMode("MoveToViewportMiddle")}, { key = "M", mods = "NONE", action = act.CopyMode("MoveToViewportMiddle") },
{key="M", mods="SHIFT", action=act.CopyMode("MoveToViewportMiddle")}, { key = "M", mods = "SHIFT", action = act.CopyMode("MoveToViewportMiddle") },
{key="L", mods="NONE", action=act.CopyMode("MoveToViewportBottom")}, { key = "L", mods = "NONE", action = act.CopyMode("MoveToViewportBottom") },
{key="L", mods="SHIFT", action=act.CopyMode("MoveToViewportBottom")}, { key = "L", mods = "SHIFT", action = act.CopyMode("MoveToViewportBottom") },
{key="o", mods="NONE", action=act.CopyMode("MoveToSelectionOtherEnd")}, { key = "o", mods = "NONE", action = act.CopyMode("MoveToSelectionOtherEnd") },
{key="O", mods="NONE", action=act.CopyMode("MoveToSelectionOtherEndHoriz")}, { key = "O", mods = "NONE", action = act.CopyMode("MoveToSelectionOtherEndHoriz") },
{key="O", mods="SHIFT", action=act.CopyMode("MoveToSelectionOtherEndHoriz")}, { key = "O", mods = "SHIFT", action = act.CopyMode("MoveToSelectionOtherEndHoriz") },
{key="PageUp", mods="NONE", action=act.CopyMode("PageUp")}, { key = "PageUp", mods = "NONE", action = act.CopyMode("PageUp") },
{key="PageDown", mods="NONE", action=act.CopyMode("PageDown")}, { key = "PageDown", mods = "NONE", action = act.CopyMode("PageDown") },
{key="b", mods="CTRL", action=act.CopyMode("PageUp")}, { key = "b", mods = "CTRL", action = act.CopyMode("PageUp") },
{key="f", mods="CTRL", action=act.CopyMode("PageDown")}, { key = "f", mods = "CTRL", action = act.CopyMode("PageDown") },
-- Enter y to copy and quit the copy mode. -- Enter y to copy and quit the copy mode.
{key="y", mods="NONE", action=act.Multiple{ {
act.CopyTo("ClipboardAndPrimarySelection"), key = "y",
act.CopyMode("Close"), mods = "NONE",
}}, action = act.Multiple({
-- Enter search mode to edit the pattern. act.CopyTo("ClipboardAndPrimarySelection"),
-- When the search pattern is an empty string the existing pattern is preserved act.CopyMode("Close"),
{key="/", mods="NONE", action=act{Search={CaseSensitiveString=""}}}, }),
{key="?", mods="NONE", action=act{Search={CaseInSensitiveString=""}}}, },
{key="n", mods="CTRL", action=act{CopyMode="NextMatch"}}, -- Enter search mode to edit the pattern.
{key="p", mods="CTRL", action=act{CopyMode="PriorMatch"}}, -- When the search pattern is an empty string the existing pattern is preserved
}, { key = "/", mods = "NONE", action = act({ Search = { CaseSensitiveString = "" } }) },
{ key = "?", mods = "NONE", action = act({ Search = { CaseInSensitiveString = "" } }) },
{ key = "n", mods = "CTRL", action = act({ CopyMode = "NextMatch" }) },
{ key = "p", mods = "CTRL", action = act({ CopyMode = "PriorMatch" }) },
},
search_mode = { search_mode = {
{key="Escape", mods="NONE", action=act{CopyMode="Close"}}, { key = "Escape", mods = "NONE", action = act({ CopyMode = "Close" }) },
-- Go back to copy mode when pressing enter, so that we can use unmodified keys like "n" -- Go back to copy mode when pressing enter, so that we can use unmodified keys like "n"
-- to navigate search results without conflicting with typing into the search area. -- to navigate search results without conflicting with typing into the search area.
{key="Enter", mods="NONE", action="ActivateCopyMode"}, { key = "Enter", mods = "NONE", action = "ActivateCopyMode" },
{key="c", mods="CTRL", action="ActivateCopyMode"}, { key = "c", mods = "CTRL", action = "ActivateCopyMode" },
{key="n", mods="CTRL", action=act{CopyMode="NextMatch"}}, { key = "n", mods = "CTRL", action = act({ CopyMode = "NextMatch" }) },
{key="p", mods="CTRL", action=act{CopyMode="PriorMatch"}}, { key = "p", mods = "CTRL", action = act({ CopyMode = "PriorMatch" }) },
{key="r", mods="CTRL", action=act.CopyMode("CycleMatchType")}, { key = "r", mods = "CTRL", action = act.CopyMode("CycleMatchType") },
{key="u", mods="CTRL", action=act.CopyMode("ClearPattern")}, { key = "u", mods = "CTRL", action = act.CopyMode("ClearPattern") },
}, },
}, },
} }