192 lines
8.7 KiB
Lua
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")},
|
|
},
|
|
},
|
|
}
|