terminal: Create module to consolidate term utils
Terminal application, a variety of shell configurations, terminal file and session management all consolidated in one place.
This commit is contained in:
parent
2e0c992a54
commit
9781b26b22
31 changed files with 0 additions and 0 deletions
115
terminal/.config/wezterm/maps.lua
Normal file
115
terminal/.config/wezterm/maps.lua
Normal file
|
|
@ -0,0 +1,115 @@
|
|||
local wezterm = require('wezterm')
|
||||
local act = wezterm.action
|
||||
|
||||
local keys = {
|
||||
{ key = 'O', mods = 'CTRL', action = act.ShowDebugOverlay },
|
||||
|
||||
{ key = '[', mods = 'CTRL', action = act.ScrollToPrompt(-1) },
|
||||
{ key = ']', mods = 'CTRL', action = act.ScrollToPrompt(1) },
|
||||
{ -- vertical pane
|
||||
key = '\\',
|
||||
mods = 'LEADER',
|
||||
action = act.SplitHorizontal { domain = 'CurrentPaneDomain' }
|
||||
}, { -- horizontal pane
|
||||
key = '-',
|
||||
mods = 'LEADER',
|
||||
action = act.SplitVertical { domain = 'CurrentPaneDomain' }
|
||||
}, -- pane movement keys
|
||||
{
|
||||
key = 'h',
|
||||
mods = 'CTRL',
|
||||
action = act.EmitEvent 'ActivatePaneDirection-left'
|
||||
},
|
||||
{
|
||||
key = 'j',
|
||||
mods = 'CTRL',
|
||||
action = act.EmitEvent 'ActivatePaneDirection-down'
|
||||
},
|
||||
{
|
||||
key = 'k',
|
||||
mods = 'CTRL',
|
||||
action = act.EmitEvent 'ActivatePaneDirection-up'
|
||||
}, {
|
||||
key = 'l',
|
||||
mods = 'CTRL',
|
||||
action = act.EmitEvent 'ActivatePaneDirection-right'
|
||||
}, { key = 'z', mods = 'LEADER', action = act.TogglePaneZoomState },
|
||||
{ key = ' ', mods = 'LEADER', action = act.RotatePanes 'Clockwise' },
|
||||
{ key = 'q', mods = 'LEADER', action = act.PaneSelect { mode = 'Activate' } },
|
||||
{
|
||||
key = 'Q',
|
||||
mods = 'LEADER',
|
||||
action = act.PaneSelect { mode = 'SwapWithActive' }
|
||||
}, { key = 'c', mods = 'LEADER', action = act.SpawnTab 'CurrentPaneDomain' },
|
||||
{ key = ',', mods = 'LEADER', action = act.MoveTabRelative(-1) },
|
||||
{ key = '.', mods = 'LEADER', action = act.MoveTabRelative(1) }, -- workspace selection
|
||||
{
|
||||
key = 's',
|
||||
mods = 'LEADER',
|
||||
action = act.ShowLauncherArgs { flags = 'FUZZY|WORKSPACES' }
|
||||
}, { key = 't', mods = 'LEADER', action = act.ShowTabNavigator },
|
||||
{ key = '[', mods = 'LEADER', action = act.ActivateCopyMode }, {
|
||||
key = 'r',
|
||||
mods = 'LEADER',
|
||||
action = act.ActivateKeyTable {
|
||||
name = 'resize_pane',
|
||||
one_shot = false,
|
||||
timeout_milliseconds = 2000,
|
||||
replace_current = true
|
||||
}
|
||||
}, { key = 'F', mods = 'LEADER', action = act.QuickSelect }, {
|
||||
key = '/',
|
||||
mods = 'LEADER',
|
||||
action = act.Search('CurrentSelectionOrEmptyString')
|
||||
}, {
|
||||
key = 'f',
|
||||
mods = 'LEADER',
|
||||
action = act.ActivateKeyTable {
|
||||
name = 'scroll_mode',
|
||||
one_shot = false,
|
||||
replace_current = true,
|
||||
timeout_milliseconds = 15000,
|
||||
}
|
||||
}, { key = 'e', mods = 'LEADER', action = act.EmitEvent 'edit-scrollback' }, {
|
||||
key = 'l',
|
||||
mods = 'LEADER',
|
||||
action = act.EmitEvent 'ActivatePaneDirection-Right'
|
||||
},
|
||||
{ key = 'a', mods = 'CTRL|ALT', action = act.EmitEvent 'toggle-leader' }
|
||||
|
||||
}
|
||||
-- Leader + number to activate that tab
|
||||
for i = 1, 8 do
|
||||
table.insert(keys, {
|
||||
key = tostring(i),
|
||||
mods = 'LEADER',
|
||||
action = act.ActivateTab(i - 1)
|
||||
})
|
||||
end
|
||||
-- key table sub modes
|
||||
local key_tables = {
|
||||
-- mode to change size of any panes
|
||||
resize_pane = {
|
||||
{ key = 'h', action = act.AdjustPaneSize { 'Left', 1 } },
|
||||
{ key = 'l', action = act.AdjustPaneSize { 'Right', 1 } },
|
||||
{ key = 'k', action = act.AdjustPaneSize { 'Up', 1 } },
|
||||
{ key = 'j', action = act.AdjustPaneSize { 'Down', 1 } },
|
||||
{ key = 'H', action = act.AdjustPaneSize { 'Left', 10 } },
|
||||
{ key = 'L', action = act.AdjustPaneSize { 'Right', 10 } },
|
||||
{ key = 'K', action = act.AdjustPaneSize { 'Up', 10 } },
|
||||
{ key = 'J', action = act.AdjustPaneSize { 'Down', 10 } },
|
||||
{ key = 'Escape', action = 'PopKeyTable' }
|
||||
},
|
||||
scroll_mode = {
|
||||
{ key = 'y', mods = 'CTRL', action = act.ScrollByLine(-1) },
|
||||
{ key = 'e', mods = 'CTRL', action = act.ScrollByLine(1) },
|
||||
{ key = 'f', mods = 'CTRL', action = act.ScrollByPage(1) },
|
||||
{ key = 'b', mods = 'CTRL', action = act.ScrollByPage(-1) },
|
||||
{ key = 'd', mods = 'CTRL', action = act.ScrollByPage(0.5) },
|
||||
{ key = 'u', mods = 'CTRL', action = act.ScrollByPage(-0.5) },
|
||||
{ key = 'g', mods = 'CTRL', action = act.ScrollToTop },
|
||||
{ key = 'G', mods = 'CTRL', action = act.ScrollToBottom },
|
||||
{ key = 'Escape', action = 'PopKeyTable' }
|
||||
},
|
||||
}
|
||||
return { keys = keys, key_tables = key_tables }
|
||||
Loading…
Add table
Add a link
Reference in a new issue