local wezterm = require 'wezterm' local act = wezterm.action local config = {} if wezterm.config_builder then config = wezterm.config_builder() end config.color_scheme = 'Catppuccin Mocha' config.window_background_opacity = 0.9 config.default_cursor_style = "SteadyBar" config.font = wezterm.font('Blex Mono Nerd Font') config.font_size = 9.5 config.keys = { -- Tab management { key = '1', mods = 'ALT', action = act.ActivateTab(0) }, { key = '2', mods = 'ALT', action = act.ActivateTab(1) }, { key = '3', mods = 'ALT', action = act.ActivateTab(2) }, { key = '4', mods = 'ALT', action = act.ActivateTab(3) }, { key = '5', mods = 'ALT', action = act.ActivateTab(4) }, { key = '6', mods = 'ALT', action = act.ActivateTab(5) }, { key = '7', mods = 'ALT', action = act.ActivateTab(6) }, { key = '8', mods = 'ALT', action = act.ActivateTab(7) }, { key = 't', mods = 'CTRL|SHIFT', action = act.SpawnTab 'CurrentPaneDomain' }, { key = 'w', mods = 'CTRL|SHIFT', action = act.CloseCurrentTab{ confirm = true}}, { key = '{', mods = 'CTRL|SHIFT', action = act.MoveTabRelative(-1) }, { key = '}', mods = 'CTRL|SHIFT', action = act.MoveTabRelative(1) }, -- Split management { key = 'h', mods = 'CTRL', action = act.SplitHorizontal { domain = 'CurrentPaneDomain' }, }, { key = 'v', mods = 'CTRL', action = act.SplitVertical { domain = 'CurrentPaneDomain' }, }, { key = 'q', mods = 'CTRL', action = act.CloseCurrentPane { confirm = true }, }, -- Split movement -- activate pane selection mode with the default alphabet (labels are "a", "s", "d", "f" and so on) -- (j)ump to split { key = 'j', mods = 'CTRL', action = act.PaneSelect }, -- show the pane selection mode, but have it swap the active and selected panes -- (m)ove split { key = 'm', mods = 'CTRL', action = act.PaneSelect { mode = 'SwapWithActive', }, }, } return config