Browse Source

Updated clipboard config

master
chodak166 2 weeks ago
parent
commit
1efbc2aeef
  1. 34
      .config/nvim/lua/config/clipboard.lua

34
.config/nvim/lua/config/clipboard.lua

@ -1,22 +1,24 @@
-- ~/.config/nvim/lua/config/clipboard.lua -- ~/.config/nvim/lua/config/clipboard.lua
local function osc52_copy(lines)
local data = table.concat(lines, "\n")
local b64 = vim.fn.system("base64 -w0", data)
vim.fn.chansend(vim.v.stderr, "\x1b]52;c;" .. b64 .. "\x07")
end
vim.g.clipboard = { -- Only override clipboard when running over SSH.
name = "OSC 52", -- Locally, let Neovim auto-detect the system clipboard tool (xclip, pbcopy, wl-copy, etc.)
if vim.env.SSH_TTY then
local osc52 = require("vim.ui.clipboard.osc52")
vim.g.clipboard = {
name = "OSC 52 (SSH)",
copy = { copy = {
["+"] = osc52_copy, ["+"] = osc52.copy("+"),
["*"] = osc52_copy, ["*"] = osc52.copy("*"),
}, },
paste = { paste = {
["+"] = function() -- OSC52 paste reads back from the terminal via an escape sequence response.
return vim.split(vim.fn.getreg("+"), "\n") -- If your terminal supports it (Kitty, WezTerm, iTerm2, etc.), use it:
end, ["+"] = osc52.paste("+"),
["*"] = function() ["*"] = osc52.paste("*"),
return vim.split(vim.fn.getreg("*"), "\n")
end,
}, },
} }
end
-- Always sync unnamed register with the clipboard register
vim.opt.clipboard = "unnamedplus"
Loading…
Cancel
Save