From 556afeabcc8873a2866aec2093ef3812d486c9e2 Mon Sep 17 00:00:00 2001 From: Sanchayan Maity Date: Mon, 27 Nov 2023 17:53:29 +0530 Subject: [PATCH] nvim: init: Use OSC 52 for copying to system clipboard in SSH session --- nvim/.config/nvim/init.lua | 41 ++++++++++++++++++++++++++------------ 1 file changed, 28 insertions(+), 13 deletions(-) diff --git a/nvim/.config/nvim/init.lua b/nvim/.config/nvim/init.lua index c46cdbd..474d2c1 100644 --- a/nvim/.config/nvim/init.lua +++ b/nvim/.config/nvim/init.lua @@ -69,19 +69,34 @@ vim.g.dispatch_no_maps = 1 vim.g.matchup_matchparen_offscreen = {} vim.g.matchup_surround_enabled = 1 --- See :help clipboard and https://github.com/neovim/neovim/issues/14545 -vim.g.clipboard = { - name = "clipboard", - copy = { - ["+"] = "wl-copy", - ["*"] = "wl-copy" - }, - paste = { - ["+"] = "wl-paste", - ["*"] = "wl-paste" - }, - cache_enabled = true -} +if os.getenv("SSH_CONNECTION") then + local osc52 = require('vim.ui.clipboard.osc52') + vim.g.clipboard = { + name = 'OSC 52', + copy = { + ['+'] = osc52.copy, + ['*'] = osc52.copy, + }, + paste = { + ['+'] = osc52.paste, + ['*'] = osc52.paste, + }, + } +else + -- See :help clipboard and https://github.com/neovim/neovim/issues/14545 + vim.g.clipboard = { + name = "clipboard", + copy = { + ["+"] = "wl-copy", + ["*"] = "wl-copy" + }, + paste = { + ["+"] = "wl-paste", + ["*"] = "wl-paste" + }, + cache_enabled = true + } +end -- No default mappings for tmux navigator vim.g.tmux_navigator_no_mappings = 1