1
0
hugo/content/blog/2023-01-15-nvim.md
2024-04-23 22:21:26 +09:00

39 lines
1.5 KiB
Markdown

+++
date = "2023-01-15"
tags = ["terminal","vim","clipboard"]
title = "terminalのOSC52を使いclipboardを共有する"
slug = "nvim"
+++
terminalのOSC52という機能を使うと、ssh-sessionでもcopyしたものがsystemのclipboardに入ります。これらはosの互換性に関係ないため幅広く使えます。
ただし、clipboardの共有は、往々にしてセキュリティ問題があるため注意してください。
また、`tmux`ではできなかったので、`iterm2`の別タブで行いました。
iterm2の設定は、`General -> Selection -> Application ... access clipboard`です。
まず、`tty-copy`はコマンドです。`tty-copy text`というように使います。ssh先でもssh元のclipboardに入ります。
https://github.com/jirutka/tty-copy
次にvim-pluginです。
https://github.com/ojroques/vim-oscyank
例えば、`yy`で同時に`OSCYankReg`が実行されてsystemのclipboardに入れる設定です。
```
Plug 'ojroques/vim-oscyank', {'branch': 'main'}
"let g:oscyank_silent = v:true
let g:oscyank_term = 'tmux'
autocmd TextYankPost * if v:event.operator is 'y' && v:event.regname is '' | execute 'OSCYankReg "' | endif
autocmd TextYankPost * if v:event.operator is 'y' && v:event.regname is '+' | execute 'OSCYankReg +' | endif
```
ただ、tmux上で動作しないのがよくわからない。
tmuxには`set-option -g set-clipboard on`等を設定して、commandやpluginもtmuxに該当する項目があるのに動作しませんでした。