127 lines
8.7 KiB
Lua
127 lines
8.7 KiB
Lua
local wezterm = require("wezterm")
|
|
local act = wezterm.action
|
|
|
|
local keys = {
|
|
-- Tab Management
|
|
{ key = "T", mods = "SHIFT|CTRL", action = act.SpawnTab "CurrentPaneDomain" },
|
|
{
|
|
key = "T",
|
|
mods = "SHIFT|ALT",
|
|
action = act.PromptInputLine {
|
|
description = 'Enter new name for tab',
|
|
action = wezterm.action_callback(function(window, _, line)
|
|
if line then
|
|
window:active_tab():set_title(line)
|
|
end
|
|
end)
|
|
}
|
|
},
|
|
{ key = "W", mods = "SHIFT|CTRL", action = act.CloseCurrentTab { confirm = true } },
|
|
{ key = "LeftArrow", mods = "ALT", action = act.ActivateTabRelative(-1) },
|
|
{ key = "LeftArrow", mods = "SHIFT|ALT", action = act.MoveTabRelative(-1) },
|
|
{ key = "RightArrow", mods = "ALT", action = act.ActivateTabRelative(1) },
|
|
{ key = "RightArrow", mods = "SHIFT|ALT", action = act.MoveTabRelative(1) },
|
|
-- Pane Management
|
|
{ key = "-", mods = "CTRL|ALT", action = act.SplitVertical { domain = "CurrentPaneDomain" } },
|
|
{ key = "\\", mods = "CTRL|ALT", action = act.SplitHorizontal { domain = "CurrentPaneDomain" } },
|
|
{ key = "LeftArrow", mods = "CTRL", action = act.ActivatePaneDirection "Left" },
|
|
{ key = "LeftArrow", mods = "CTRL|SHIFT", action = act.AdjustPaneSize { "Left", 1 } },
|
|
{ key = "RightArrow", mods = "CTRL", action = act.ActivatePaneDirection "Right" },
|
|
{ key = "RightArrow", mods = "CTRL|SHIFT", action = act.AdjustPaneSize { "Right", 1 } },
|
|
{ key = "UpArrow", mods = "CTRL", action = act.ActivatePaneDirection "Up" },
|
|
{ key = "UpArrow", mods = "CTRL|SHIFT", action = act.AdjustPaneSize { "Up", 1 } },
|
|
{ key = "DownArrow", mods = "CTRL", action = act.ActivatePaneDirection "Down" },
|
|
{ key = "DownArrow", mods = "CTRL|SHIFT", action = act.AdjustPaneSize { "Down", 1 } },
|
|
-- Default Actions
|
|
{ key = "_", mods = "SHIFT|CTRL", action = act.DecreaseFontSize },
|
|
{ key = "+", mods = "SHIFT|CTRL", action = act.IncreaseFontSize },
|
|
{ key = "C", mods = "SHIFT|CTRL", action = act.CopyTo "Clipboard" },
|
|
{ key = "F", mods = "SHIFT|CTRL", action = act.Search "CurrentSelectionOrEmptyString" },
|
|
{ key = "K", mods = "SHIFT|CTRL", action = act.ClearScrollback "ScrollbackOnly" },
|
|
{ key = "L", mods = "SHIFT|CTRL", action = act.ShowDebugOverlay },
|
|
{ key = "R", mods = "SHIFT|CTRL", action = act.ReloadConfiguration },
|
|
{ key = "V", mods = "SHIFT|CTRL", action = act.PasteFrom "Clipboard" },
|
|
{ key = "X", mods = "SHIFT|CTRL", action = act.ActivateCopyMode },
|
|
{ key = "Z", mods = "SHIFT|CTRL", action = act.TogglePaneZoomState },
|
|
{ key = "phys:Space", mods = "SHIFT|CTRL", action = act.QuickSelect },
|
|
{ key = "PageUp", mods = "SHIFT", action = act.ScrollByPage(-1) },
|
|
{ key = "PageDown", mods = "SHIFT", action = act.ScrollByPage(1) },
|
|
{ key = "Insert", mods = "SHIFT", action = act.PasteFrom "PrimarySelection" },
|
|
{ key = "Insert", mods = "CTRL", action = act.CopyTo "PrimarySelection" },
|
|
{ key = "Copy", mods = "NONE", action = act.CopyTo "Clipboard" },
|
|
{ key = "Paste", mods = "NONE", action = act.PasteFrom "Clipboard" },
|
|
}
|
|
|
|
local key_tables = {
|
|
copy_mode = {
|
|
{ key = "Tab", mods = "NONE", action = act.CopyMode "MoveForwardWord" },
|
|
{ key = "Tab", mods = "SHIFT", action = act.CopyMode "MoveBackwardWord" },
|
|
{ key = "Enter", mods = "NONE", action = act.CopyMode "MoveToStartOfNextLine" },
|
|
{ key = "Escape", mods = "NONE", action = act.CopyMode "Close" },
|
|
{ key = "Space", mods = "NONE", action = act.CopyMode { SetSelectionMode = "Cell" } },
|
|
{ key = "$", mods = "NONE", action = act.CopyMode "MoveToEndOfLineContent" },
|
|
{ key = "$", mods = "SHIFT", action = act.CopyMode "MoveToEndOfLineContent" },
|
|
{ key = "0", mods = "NONE", action = act.CopyMode "MoveToStartOfLine" },
|
|
{ key = "G", mods = "NONE", action = act.CopyMode "MoveToScrollbackBottom" },
|
|
{ key = "G", mods = "SHIFT", action = act.CopyMode "MoveToScrollbackBottom" },
|
|
{ key = "H", mods = "NONE", action = act.CopyMode "MoveToViewportTop" },
|
|
{ key = "H", mods = "SHIFT", action = act.CopyMode "MoveToViewportTop" },
|
|
{ key = "L", mods = "NONE", action = act.CopyMode "MoveToViewportBottom" },
|
|
{ key = "L", mods = "SHIFT", action = act.CopyMode "MoveToViewportBottom" },
|
|
{ key = "M", mods = "NONE", action = act.CopyMode "MoveToViewportMiddle" },
|
|
{ key = "M", mods = "SHIFT", action = act.CopyMode "MoveToViewportMiddle" },
|
|
{ key = "O", mods = "NONE", action = act.CopyMode "MoveToSelectionOtherEndHoriz" },
|
|
{ key = "O", mods = "SHIFT", action = act.CopyMode "MoveToSelectionOtherEndHoriz" },
|
|
{ key = "V", mods = "NONE", action = act.CopyMode { SetSelectionMode = "Line" } },
|
|
{ key = "V", mods = "SHIFT", action = act.CopyMode { SetSelectionMode = "Line" } },
|
|
{ key = "^", mods = "NONE", action = act.CopyMode "MoveToStartOfLineContent" },
|
|
{ key = "^", mods = "SHIFT", action = act.CopyMode "MoveToStartOfLineContent" },
|
|
{ key = "b", mods = "NONE", action = act.CopyMode "MoveBackwardWord" },
|
|
{ key = "b", mods = "ALT", action = act.CopyMode "MoveBackwardWord" },
|
|
{ key = "b", mods = "CTRL", action = act.CopyMode "PageUp" },
|
|
{ key = "c", mods = "CTRL", action = act.CopyMode "Close" },
|
|
{ key = "f", mods = "ALT", action = act.CopyMode "MoveForwardWord" },
|
|
{ key = "f", mods = "CTRL", action = act.CopyMode "PageDown" },
|
|
{ key = "g", mods = "NONE", action = act.CopyMode "MoveToScrollbackTop" },
|
|
{ key = "g", mods = "CTRL", 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 = "m", mods = "ALT", action = act.CopyMode "MoveToStartOfLineContent" },
|
|
{ key = "o", mods = "NONE", action = act.CopyMode "MoveToSelectionOtherEnd" },
|
|
{ key = "q", mods = "NONE", action = act.CopyMode "Close" },
|
|
{ key = "v", mods = "NONE", action = act.CopyMode { SetSelectionMode = "Cell" } },
|
|
{ key = "v", mods = "CTRL", action = act.CopyMode { SetSelectionMode = "Block" } },
|
|
{ key = "w", mods = "NONE", action = act.CopyMode "MoveForwardWord" },
|
|
{ key = "y", mods = "NONE", action = act.Multiple { { CopyTo = "ClipboardAndPrimarySelection" }, { CopyMode = "Close" } } },
|
|
{ key = "PageUp", mods = "NONE", action = act.CopyMode "PageUp" },
|
|
{ key = "PageDown", mods = "NONE", action = act.CopyMode "PageDown" },
|
|
{ key = "LeftArrow", mods = "NONE", action = act.CopyMode "MoveLeft" },
|
|
{ key = "LeftArrow", mods = "ALT", action = act.CopyMode "MoveBackwardWord" },
|
|
{ key = "RightArrow", mods = "NONE", action = act.CopyMode "MoveRight" },
|
|
{ key = "RightArrow", mods = "ALT", action = act.CopyMode "MoveForwardWord" },
|
|
{ key = "UpArrow", mods = "NONE", action = act.CopyMode "MoveUp" },
|
|
{ key = "DownArrow", mods = "NONE", action = act.CopyMode "MoveDown" },
|
|
},
|
|
|
|
search_mode = {
|
|
{ key = "Enter", mods = "NONE", action = act.CopyMode "PriorMatch" },
|
|
{ key = "Escape", mods = "NONE", action = act.CopyMode "Close" },
|
|
{ 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" },
|
|
{ key = "PageUp", mods = "NONE", action = act.CopyMode "PriorMatchPage" },
|
|
{ key = "PageDown", mods = "NONE", action = act.CopyMode "NextMatchPage" },
|
|
{ key = "UpArrow", mods = "NONE", action = act.CopyMode "PriorMatch" },
|
|
{ key = "DownArrow", mods = "NONE", action = act.CopyMode "NextMatch" },
|
|
}
|
|
}
|
|
|
|
local config = {}
|
|
config.keys = keys
|
|
config.disable_default_key_bindings = true
|
|
config.key_tables = key_tables
|
|
|
|
return config
|