From 21ca466db13e68740aa3348c7406369c53062a9e Mon Sep 17 00:00:00 2001 From: Folke Lemaitre Date: Thu, 7 Mar 2024 12:04:41 +0100 Subject: [PATCH] feat(autocmds): added support for copy/paste through ssh. Needs Neovim >= 0.10.0 --- lua/lazyvim/config/autocmds.lua | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/lua/lazyvim/config/autocmds.lua b/lua/lazyvim/config/autocmds.lua index cd263948..b326c79c 100644 --- a/lua/lazyvim/config/autocmds.lua +++ b/lua/lazyvim/config/autocmds.lua @@ -113,3 +113,26 @@ vim.api.nvim_create_autocmd({ "BufWritePre" }, { vim.fn.mkdir(vim.fn.fnamemodify(file, ":p:h"), "p") end, }) + +-- Copy/Paste when using ssh on a remote server +-- Only works on Neovim >= 0.10.0 +if vim.clipboard and vim.clipboard.osc52 then + vim.api.nvim_create_autocmd("VimEnter", { + group = augroup("ssh_clipboard"), + callback = function() + if vim.env.SSH_CONNECTION and vim.clipboard.osc52 then + vim.g.clipboard = { + name = "OSC 52", + copy = { + ["+"] = require("vim.clipboard.osc52").copy, + ["*"] = require("vim.clipboard.osc52").copy, + }, + paste = { + ["+"] = require("vim.clipboard.osc52").paste, + ["*"] = require("vim.clipboard.osc52").paste, + }, + } + end + end, + }) +end