可以在Neovim中使用OSC 52来复制.在使用SSH或者使用WSL的情况下,方便地和系统剪切板交互.
注意:需要Neovim版本>=10.0,Neovim 在10.0增加了对于OSC 52的原生支持,Github PR
在 init.lua中粘贴如下配置文件:
--
function my_paste(reg)
return function(lines)
local content = vim.fn.getreg('"')
return vim.split(content, "\n")
end
end
vim.g.clipboard = {
name = "OSC 52",
copy = {
["+"] = require("vim.ui.clipboard.osc52").copy("+"),
["*"] = require("vim.ui.clipboard.osc52").copy("*"),
},
paste = {
["+"] = my_paste("+"),
["*"] = my_paste("*"),
},
}
此时在可视化模式下选中即可复制到系统剪切板.因为windows terminal不支持OSC 52粘贴,所以如果需要从系统剪切板复制到neovim,需要使用
有关OSC 52的介绍和不同Terminal对于OSC 52的支持可以参考这里: https://www.reddit.com/r/vim/comments/k1ydpn/a_guide_on_how_to_copy_text_from_anywhere/
参考资料: