これを今すぐに解決し、混乱を避けるために... これは、Windows 10 (ubunutu) で実行される Linux (WSL とも呼ばれます) 用です。これは、cygwin や Windows、またはスタンドアロン Linux と同じではありません。独自のものです。
したがって、私がすでに読んだすべての記事を参照したり、以前にこの質問があったとコメントしたりする前に、上記を念頭に置いてください。
Windows クリップボードまたは WSL Ubuntu Linux エミュレーションからコピー アンド ペーストを機能させる方法をご存知の方はいませんか? 私は set を使用しています。 、、などのclipboard=unnamedplus
どのような組み合わせを使用しても機能しません。yy
"+yy
はい、サポートvim-gtk
付きです+xterm_clipboard
。
答え1
(編集: 2024 年 4 月) 最新の では、WSL version: 2.1.5.0
少なくとも最新の Microsoft Store バージョンの Ubuntu では、がWin11
あれset clipboard+=unnamedplus
ば十分なようです。neovim
(編集:2020年10月) の双方向クリップボードについてはneovim
、win32yank
数か月間、問題なく動作しています。Linuxwin32yank.exe
のパス内のどこか (どこでもかまいません) に次のコードを追加し、init.vim
.
set clipboard+=unnamedplus
let g:clipboard = {
\ 'name': 'win32yank-wsl',
\ 'copy': {
\ '+': 'win32yank.exe -i --crlf',
\ '*': 'win32yank.exe -i --crlf',
\ },
\ 'paste': {
\ '+': 'win32yank.exe -o --lf',
\ '*': 'win32yank.exe -o --lf',
\ },
\ 'cache_enabled': 0,
\ }
(元の回答)VIMからWindowsにヤンクしたいだけなら、WSL2とUbuntu 20.04の場合、この答えReddit の標準 VIM と標準 WSL2 Ubuntu では完璧に動作しました。
次の内容を.vimrc
(たとえば一番下に)記入してください。
" WSL yank support
let s:clip = '/mnt/c/Windows/System32/clip.exe' " change this path according to your mount point
if executable(s:clip)
augroup WSLYank
autocmd!
autocmd TextYankPost * if v:event.operator ==# 'y' | call system(s:clip, @0) | endif
augroup END
endif
答え2
この解決策githubユーザーのおかげでうまくいきましたロビエフ。
最後に、彼の回答の一部を抜粋します。
- インストール翻訳 (インストール後に起動した場合は停止してください)。
- 新しくインストールしたプログラムを使用して起動しますXLaunch(スタートメニューで検索)。
すべてのデフォルトオプションを選択し、クリップボードオプションチェックされます。
最後に、設定をファイルに保存します
config.xlaunch
(これからはそれを使って始めてください)。Windows の bashにexport
DISPLAY=localhost:0.0
と入力し、開いているターミナルで実行します。.bashrc
source ~/.bashrc
vim がクリップボード サポートを使用してインストールされていることを確認します。ではなく と
vim --version | grep clipboard
表示される必要があります。また、vim でex コマンドを実行すると、クリップボード サポートがコンパイルされていないと表示されます。+clipboard
-clipboard
:echo has('clipboard')
0
クリップボードのサポートがない場合は、クリップボードのサポートがコンパイルされた vim パッケージをインストールします (例: )
apt-get install vim-gtk
。"*p
これで、およびを介して Windows システム クリップボードにアクセスしたり、 ファイルに を入力してデフォルトに設定したりできるようになりまし"*y
た。set clipboard=unnamed
.vimrc
としてロビエフSSH X 転送を使用してリモート マシンから Windows クリップボードも使用できるようになるはずです。
答え3
答え4
vim (または neovim) を使用している場合は、ANSI OSC52
これがこの「コピー/貼り付け」問題を解決しようとする標準であることを知っておく必要があります (特定のケース、たとえば SSH ターミナルの場合)。
便利なプラグインはこちらvim-oscyankこれはこの標準を実装しており、このプラグインをインストールしてキーマッピングを設定するだけです。ぜひ試してみてください。