diff --git a/tools/wezterm/appearance.lua b/tools/wezterm/appearance.lua index 23d2f7a..874b6e8 100644 --- a/tools/wezterm/appearance.lua +++ b/tools/wezterm/appearance.lua @@ -25,7 +25,7 @@ end return function(config) config.max_fps = 120 config.font = wezterm.font({ - family = "Sarasa Term SC Nerd Font", + family = "Maple Mono NF CN", }) config.color_scheme = scheme_for_appearance(get_appearance()) config.font_size = 12.0 diff --git a/tools/wezterm/keymaps.lua b/tools/wezterm/keymaps.lua deleted file mode 100644 index 25de9ea..0000000 --- a/tools/wezterm/keymaps.lua +++ /dev/null @@ -1,268 +0,0 @@ --- vim: foldmethod=marker foldmarker=#region,#endregion --- Reference to: https://github.com/KevinSilvester/wezterm-config/blob/master/config/bindings.lua -local wezterm = require("wezterm") -local action = wezterm.action -local act = wezterm.action -local os_type = require("utils").detected_os - -local SUPER - -if os_type.is_mac then - SUPER = "SUPER" -else - SUPER = "ALT" -end - --- #region Key Tables -local key_tables = { - copy_mode = { - -- #region Built-in CopyMode - -- This keymaps seems cannot be merged. - { 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.Multiple({ "ScrollToBottom", { 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 = ",", mods = "NONE", action = act.CopyMode("JumpReverse") }, - { key = "0", mods = "NONE", action = act.CopyMode("MoveToStartOfLine") }, - { key = ";", mods = "NONE", action = act.CopyMode("JumpAgain") }, - { key = "F", mods = "NONE", action = act.CopyMode({ JumpBackward = { prev_char = false } }) }, - { key = "F", mods = "SHIFT", action = act.CopyMode({ JumpBackward = { prev_char = false } }) }, - { 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 = "T", mods = "NONE", action = act.CopyMode({ JumpBackward = { prev_char = true } }) }, - { key = "T", mods = "SHIFT", action = act.CopyMode({ JumpBackward = { prev_char = true } }) }, - { 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.Multiple({ "ScrollToBottom", { CopyMode = "Close" } }) }, - { key = "d", mods = "CTRL", action = act.CopyMode({ MoveByPage = 0.5 }) }, - { key = "e", mods = "NONE", action = act.CopyMode("MoveForwardWordEnd") }, - { key = "f", mods = "NONE", action = act.CopyMode({ JumpForward = { prev_char = false } }) }, - { 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.Multiple({ "ScrollToBottom", { 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.Multiple({ "ScrollToBottom", { CopyMode = "Close" } }) }, - { key = "t", mods = "NONE", action = act.CopyMode({ JumpForward = { prev_char = true } }) }, - { key = "u", mods = "CTRL", action = act.CopyMode({ MoveByPage = -0.5 }) }, - { 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" }, - { Multiple = { "ScrollToBottom", { CopyMode = "Close" } } }, - }), - }, - { key = "PageUp", mods = "NONE", action = act.CopyMode("PageUp") }, - { key = "PageDown", mods = "NONE", action = act.CopyMode("PageDown") }, - { key = "End", mods = "NONE", action = act.CopyMode("MoveToEndOfLineContent") }, - { key = "Home", mods = "NONE", action = act.CopyMode("MoveToStartOfLine") }, - { 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") }, - -- #endregion - -- #region Customized CopyMode - { key = "n", mods = "NONE", action = act.CopyMode("MoveDown") }, - { key = "e", mods = "NONE", action = act.CopyMode("MoveUp") }, - { key = "i", mods = "NONE", action = act.CopyMode("MoveRight") }, - { key = "j", mods = "NONE", action = act.CopyMode("MoveForwardWordEnd") }, - -- #endregion - }, - resize_pane = { - { key = "h", mods = "NONE", action = act.AdjustPaneSize({ "Left", 1 }) }, - { key = "n", mods = "NONE", action = act.AdjustPaneSize({ "Down", 1 }) }, - { key = "e", mods = "NONE", action = act.AdjustPaneSize({ "Up", 1 }) }, - { key = "i", mods = "NONE", action = act.AdjustPaneSize({ "Right", 1 }) }, - { key = "q", mods = "NONE", action = "PopKeyTable" }, - }, -} --- #endregion - --- #region Leader Keymaps -local leader_keys = { - { - key = "q", - mods = "LEADER", - action = act.SendKey({ key = "q", mods = "CTRL" }), - }, - -- Windows Management - { -- leader keys - key = "|", - mods = "LEADER|SHIFT", - action = act.SplitHorizontal({ domain = "CurrentPaneDomain" }), - }, - { - key = "-", - mods = "LEADER", - action = act.SplitVertical({ domain = "CurrentPaneDomain" }), - }, - { - key = "h", - mods = "LEADER", - action = act.ActivatePaneDirection("Left"), - }, - { - key = "n", - mods = "LEADER", - action = act.ActivatePaneDirection("Down"), - }, - { - key = "e", - mods = "LEADER", - action = act.ActivatePaneDirection("Up"), - }, - { - key = "i", - mods = "LEADER", - action = act.ActivatePaneDirection("Right"), - }, - { - key = "H", - mods = "LEADER", - action = act.AdjustPaneSize({ "Left", 5 }), - }, - { - key = "N", - mods = "LEADER", - action = act.AdjustPaneSize({ "Down", 5 }), - }, - { - key = "E", - mods = "LEADER", - action = act.AdjustPaneSize({ "Up", 5 }), - }, - { - key = "I", - mods = "LEADER", - action = act.AdjustPaneSize({ "Right", 5 }), - }, - { - key = "/", - mods = "LEADER", - action = act.Search({ Regex = "" }), - }, - { - key = "?", - mods = "LEADER|SHIFT", - action = act.Search({ CaseSensitiveString = "" }), - }, - { - key = ";", - mods = "LEADER", - action = act.ShowLauncher, - }, - { - key = ":", - mods = "LEADER|SHIFT", - action = act.ActivateCommandPalette, - }, - { - key = "r", - mods = "LEADER", - action = act.ActivateKeyTable({ - name = "resize_pane", - one_shot = false, - timeout_milliseconds = 2000, - }), - }, -} --- #endregion - --- #region Ctrl Keymaps -local ctrl_keys = { - { - key = "W", - mods = "CTRL", - action = act.CloseCurrentPane({ confirm = true }), - }, - { -- ^C to copy if selection is active, otherwise send signal - -- https://wezfurlong.org/wezterm/config/lua/keyassignment/ClearSelection.html?h=selection - key = "c", - mods = "CTRL", - action = wezterm.action_callback(function(window, pane) - local has_selection = window:get_selection_text_for_pane(pane) ~= "" - if has_selection then - window:perform_action(act.CopyTo("ClipboardAndPrimarySelection"), pane) - - window:perform_action(act.ClearSelection, pane) - else - window:perform_action(act.SendKey({ key = "c", mods = "CTRL" }), pane) - end - end), - }, -} --- #endregion - --- #region SUPER Keymaps -local super_keys = { - { key = "LeftArrow", mods = SUPER, action = act.SendString("\u{1b}OH") }, - { key = "RightArrow", mods = SUPER, action = act.SendString("\u{1b}OF") }, - { key = "Backspace", mods = SUPER, action = act.SendString("\u{15}") }, - { key = "0", mods = SUPER, action = act.ActivateTab(-1) }, - { key = "t", mods = SUPER, action = act.SpawnTab("DefaultDomain") }, - { key = "w", mods = SUPER, action = act.CloseCurrentTab({ confirm = false }) }, -} -for i = 1, 9 do - table.insert(super_keys, { key = tostring(i), mods = SUPER, action = act.ActivateTab(i - 1) }) -end --- #endregion - --- Concat all keymaps -local keys = {} - -for _, keymap in ipairs(leader_keys) do - table.insert(keys, keymap) -end - -for _, keymap in ipairs(ctrl_keys) do - table.insert(keys, keymap) -end - -for _, keymap in ipairs(super_keys) do - table.insert(keys, keymap) -end - -return function(config) - config.leader = { key = "q", mods = "CTRL" } - config.keys = keys - config.key_tables = key_tables - config.mouse_bindings = { - { - event = { Up = { streak = 1, button = "Left" } }, - mods = "CTRL", - action = act.OpenLinkAtMouseCursor, - }, - { - event = { Up = { streak = 1, button = "Left" } }, - mods = "SUPER", - action = act.OpenLinkAtMouseCursor, - }, - } -end diff --git a/tools/wezterm/keymaps/colemak.lua b/tools/wezterm/keymaps/colemak.lua new file mode 100644 index 0000000..0a52893 --- /dev/null +++ b/tools/wezterm/keymaps/colemak.lua @@ -0,0 +1,44 @@ +local M = {} +local wezterm = require("wezterm") +local act = wezterm.action + +M.leader = { + { + key = "n", + mods = "LEADER", + action = act.ActivatePaneDirection("Down"), + }, + { + key = "e", + mods = "LEADER", + action = act.ActivatePaneDirection("Up"), + }, + { + key = "i", + mods = "LEADER", + action = act.ActivatePaneDirection("Right"), + }, + { + key = "N", + mods = "LEADER", + action = act.AdjustPaneSize({ "Down", 5 }), + }, + { + key = "E", + mods = "LEADER", + action = act.AdjustPaneSize({ "Up", 5 }), + }, + { + key = "I", + mods = "LEADER", + action = act.AdjustPaneSize({ "Right", 5 }), + }, +} + +local leader_common = require("keymaps.leaders").common + +for _, v in ipairs(leader_common) do + table.insert(M.leader, v) +end + +return M diff --git a/tools/wezterm/keymaps/init.lua b/tools/wezterm/keymaps/init.lua new file mode 100644 index 0000000..d9349cf --- /dev/null +++ b/tools/wezterm/keymaps/init.lua @@ -0,0 +1,183 @@ +-- vim: foldmethod=marker foldmarker=#region,#endregion +-- Reference to: https://github.com/KevinSilvester/wezterm-config/blob/master/config/bindings.lua +local wezterm = require("wezterm") +local action = wezterm.action +local act = wezterm.action +local os_type = require("utils").detected_os + +local SUPER + +if os_type.is_mac then + SUPER = "SUPER" +else + SUPER = "ALT" +end + +local layout = require("keymaps.colemak") + +-- #region Key Tables +local key_tables = { + copy_mode = { + -- #region Built-in CopyMode + -- This keymaps seems cannot be merged. + { 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.Multiple({ "ScrollToBottom", { 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 = ",", mods = "NONE", action = act.CopyMode("JumpReverse") }, + { key = "0", mods = "NONE", action = act.CopyMode("MoveToStartOfLine") }, + { key = ";", mods = "NONE", action = act.CopyMode("JumpAgain") }, + { key = "F", mods = "NONE", action = act.CopyMode({ JumpBackward = { prev_char = false } }) }, + { key = "F", mods = "SHIFT", action = act.CopyMode({ JumpBackward = { prev_char = false } }) }, + { 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 = "T", mods = "NONE", action = act.CopyMode({ JumpBackward = { prev_char = true } }) }, + { key = "T", mods = "SHIFT", action = act.CopyMode({ JumpBackward = { prev_char = true } }) }, + { 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.Multiple({ "ScrollToBottom", { CopyMode = "Close" } }) }, + { key = "d", mods = "CTRL", action = act.CopyMode({ MoveByPage = 0.5 }) }, + { key = "e", mods = "NONE", action = act.CopyMode("MoveForwardWordEnd") }, + { key = "f", mods = "NONE", action = act.CopyMode({ JumpForward = { prev_char = false } }) }, + { 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.Multiple({ "ScrollToBottom", { 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.Multiple({ "ScrollToBottom", { CopyMode = "Close" } }) }, + { key = "t", mods = "NONE", action = act.CopyMode({ JumpForward = { prev_char = true } }) }, + { key = "u", mods = "CTRL", action = act.CopyMode({ MoveByPage = -0.5 }) }, + { 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" }, + { Multiple = { "ScrollToBottom", { CopyMode = "Close" } } }, + }), + }, + { key = "PageUp", mods = "NONE", action = act.CopyMode("PageUp") }, + { key = "PageDown", mods = "NONE", action = act.CopyMode("PageDown") }, + { key = "End", mods = "NONE", action = act.CopyMode("MoveToEndOfLineContent") }, + { key = "Home", mods = "NONE", action = act.CopyMode("MoveToStartOfLine") }, + { 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") }, + -- #endregion + -- #region Customized CopyMode + { key = "n", mods = "NONE", action = act.CopyMode("MoveDown") }, + { key = "e", mods = "NONE", action = act.CopyMode("MoveUp") }, + { key = "i", mods = "NONE", action = act.CopyMode("MoveRight") }, + { key = "j", mods = "NONE", action = act.CopyMode("MoveForwardWordEnd") }, + -- #endregion + }, + resize_pane = { + { key = "h", mods = "NONE", action = act.AdjustPaneSize({ "Left", 1 }) }, + { key = "n", mods = "NONE", action = act.AdjustPaneSize({ "Down", 1 }) }, + { key = "e", mods = "NONE", action = act.AdjustPaneSize({ "Up", 1 }) }, + { key = "i", mods = "NONE", action = act.AdjustPaneSize({ "Right", 1 }) }, + { key = "q", mods = "NONE", action = "PopKeyTable" }, + }, +} +-- #endregion + +local leader_keys = layout.leader + + +-- #region Ctrl Keymaps +local ctrl_keys = { + { + key = "W", + mods = "CTRL", + action = act.CloseCurrentPane({ confirm = true }), + }, + { -- ^C to copy if selection is active, otherwise send signal + -- https://wezfurlong.org/wezterm/config/lua/keyassignment/ClearSelection.html?h=selection + key = "c", + mods = "CTRL", + action = wezterm.action_callback(function(window, pane) + local has_selection = window:get_selection_text_for_pane(pane) ~= "" + if has_selection then + window:perform_action(act.CopyTo("ClipboardAndPrimarySelection"), pane) + + window:perform_action(act.ClearSelection, pane) + else + window:perform_action(act.SendKey({ key = "c", mods = "CTRL" }), pane) + end + end), + }, +} +-- #endregion + +-- #region SUPER Keymaps +local super_keys = { + { key = "LeftArrow", mods = SUPER, action = act.SendString("\u{1b}OH") }, + { key = "RightArrow", mods = SUPER, action = act.SendString("\u{1b}OF") }, + { key = "Backspace", mods = SUPER, action = act.SendString("\u{15}") }, + { key = "0", mods = SUPER, action = act.ActivateTab(-1) }, + { key = "t", mods = SUPER, action = act.SpawnTab("DefaultDomain") }, + { key = "w", mods = SUPER, action = act.CloseCurrentTab({ confirm = false }) }, +} +for i = 1, 9 do + table.insert(super_keys, { key = tostring(i), mods = SUPER, action = act.ActivateTab(i - 1) }) +end +-- #endregion + +-- Concat all keymaps +local keys = {} + +for _, keymap in ipairs(leader_keys) do + table.insert(keys, keymap) +end + +for _, keymap in ipairs(ctrl_keys) do + table.insert(keys, keymap) +end + +for _, keymap in ipairs(super_keys) do + table.insert(keys, keymap) +end + +return function(config) + config.leader = { key = "q", mods = "CTRL" } + config.keys = keys + config.key_tables = key_tables + config.mouse_bindings = { + { + event = { Up = { streak = 1, button = "Left" } }, + mods = "CTRL", + action = act.OpenLinkAtMouseCursor, + }, + { + event = { Up = { streak = 1, button = "Left" } }, + mods = "SUPER", + action = act.OpenLinkAtMouseCursor, + }, + } +end diff --git a/tools/wezterm/keymaps/leaders.lua b/tools/wezterm/keymaps/leaders.lua new file mode 100644 index 0000000..0e9be6d --- /dev/null +++ b/tools/wezterm/keymaps/leaders.lua @@ -0,0 +1,67 @@ +local M = {} +local wezterm = require("wezterm") +local act = wezterm.action + +-- #region Leader Keymaps +M.common = { + { + key = "q", + mods = "LEADER", + action = act.SendKey({ key = "q", mods = "CTRL" }), + }, + -- Windows Management + { -- leader keys + key = "|", + mods = "LEADER|SHIFT", + action = act.SplitHorizontal({ domain = "CurrentPaneDomain" }), + }, + { + key = "-", + mods = "LEADER", + action = act.SplitVertical({ domain = "CurrentPaneDomain" }), + }, + { + key = "h", + mods = "LEADER", + action = act.ActivatePaneDirection("Left"), + }, + { + key = "H", + mods = "LEADER", + action = act.AdjustPaneSize({ "Left", 5 }), + }, + { + key = "/", + mods = "LEADER", + action = act.Search({ Regex = "" }), + }, + { + key = "?", + mods = "LEADER|SHIFT", + action = act.Search({ CaseSensitiveString = "" }), + }, + { + key = ";", + mods = "LEADER", + action = act.ShowLauncher, + }, + { + key = ":", + mods = "LEADER|SHIFT", + action = act.ActivateCommandPalette, + }, + { + key = "r", + mods = "LEADER", + action = act.ActivateKeyTable({ + name = "resize_pane", + one_shot = false, + timeout_milliseconds = 2000, + }), + }, +} +-- #endregion + + + +return M diff --git a/tools/wezterm/keymaps/qwerty.lua b/tools/wezterm/keymaps/qwerty.lua new file mode 100644 index 0000000..00bbb4f --- /dev/null +++ b/tools/wezterm/keymaps/qwerty.lua @@ -0,0 +1,45 @@ +local M = {} +local wezterm = require("wezterm") +local act = wezterm.action + +M.qwerty = { + + { + 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 = "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 }), + }, +} + +local leader_common = require("keymaps.leaders").common + +for _, v in ipairs(leader_common) do + table.insert(M.leader, v) +end + +return M