diff --git a/lua/config/neovide.lua b/lua/config/neovide.lua index 401d321..c779a7e 100644 --- a/lua/config/neovide.lua +++ b/lua/config/neovide.lua @@ -33,20 +33,28 @@ vim.g.neovide_padding_bottom = 0 vim.g.neovide_padding_right = 0 vim.g.neovide_padding_left = 0 --- Simulate kitty copy-and-paste from system clipboard +-- ━━━━━━━━━━━━━━━━━━━━━━━━━ Clipboard mappings ━━━━━━━━━━━━━━━━━━━━━━ --- Normal mode -vim.keymap.set("n", "", ":r !xsel -b", { silent = true }) -vim.keymap.set("n", "", ":w !xsel -i -b", { silent = true }) +local modes = { "n", "v", "c", "i" } --- Visual mode -vim.keymap.set("v", "", ":r !xsel -b", { silent = true }) -vim.keymap.set("v", "", ":w !xsel -i -b", { silent = true }) +-- System clipboard mappings +for _, mode in ipairs(modes) do + if mode == "c" or mode == "i" then + vim.keymap.set(mode, "", "+", { silent = true }) + vim.keymap.set(mode, "", "+", { silent = true }) + else + vim.keymap.set(mode, "", ":r !xsel -b", { silent = true }) + vim.keymap.set(mode, "", ":w !xsel -i -b", { silent = true }) + end +end --- Command mode -vim.keymap.set("c", "", "+", { silent = true }) -vim.keymap.set("c", "", "+", { silent = true }) - --- Insert mode -vim.keymap.set("i", "", "+", { silent = true }) -vim.keymap.set("i", "", "+", { silent = true }) +-- Wezterm-style clipboard mappings (Control-Shift) +for _, mode in ipairs(modes) do + if mode == "c" or mode == "i" then + vim.keymap.set(mode, "", "+", { silent = true }) + vim.keymap.set(mode, "", "+", { silent = true }) + else + vim.keymap.set(mode, "", ":r !xsel -b", { silent = true }) + vim.keymap.set(mode, "", ":w !xsel -i -b", { silent = true }) + end +end