-- Pull in the wezterm API local wezterm = require 'wezterm' -- This will hold the configuration. local config = wezterm.config_builder() -- This is where you actually apply your config choices -- For example, changing the color scheme: config.color_scheme = 'Argonaut (Gogh)' -- keybinds config.leader = { key = 'a', mods = 'CTRL', timeout_milliseconds = 1000 } config.keys = { -- splitting { mods = "LEADER|SHIFT", key = '"', action = wezterm.action.SplitVertical { domain = 'CurrentPaneDomain' } }, { mods = "LEADER|SHIFT", key = "%", action = wezterm.action.SplitHorizontal { domain = 'CurrentPaneDomain' } }, { mods = 'LEADER', key = 'z', action = wezterm.action.TogglePaneZoomState }, { mods = "LEADER", key = "Space", action = wezterm.action.RotatePanes "Clockwise" }, { mods = 'LEADER', key = '0', action = wezterm.action.PaneSelect { mode = 'SwapWithActive', }, }, { key = 'v', mods = 'LEADER', action = wezterm.action.ActivateCopyMode }, { key = 'a', mods = 'LEADER|CTRL', action = wezterm.action.SendKey { key = 'a', mods = 'CTRL' }, }, { key = 'k', mods = 'ALT', action = wezterm.action.ScrollToPrompt(-1) }, { key = 'j', mods = 'ALT', action = wezterm.action.ScrollToPrompt(1) }, } config.mouse_bindings = { { event = { Down = { streak = 2, button='Left' } }, action = wezterm.action.SelectTextAtMouseCursor 'SemanticZone', mods = 'SHIFT' } } config.font = wezterm.font 'JetBrains Mono' -- terminal padding config.window_padding = { left = 0, right = 0, top = 0, bottom = 0, } config.use_fancy_tab_bar = false config.hide_tab_bar_if_only_one_tab = true config.inactive_pane_hsb = { saturation = 0.6, brightness = 0.8, } config.quick_select_alphabet = "asdfqweryxcvjkluiopmghtzbn" -- WSL if wezterm.target_triple == 'x86_64-pc-windows-msvc' then config.default_domain = 'WSL:Debian' end -- and finally, return the configuration to wezterm return config