Files
consultant-windows/.wezterm.lua
Zackarias Montell 4f6598feb6 added wezterm
2025-05-15 08:24:14 +02:00

192 lines
8.7 KiB
Lua

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