これをテーブルから外して混乱を避けるために...これは、WSLとしても知られるWindows 10(ubuntu)で実行されているLinux用です。これは、cygwinやwindowsやスタンドアロンLinuxとは異なります。それはそれ自身の獣です。
ですから、私がすでに読んだすべての記事を参照する前に、またはこれについて以前に尋ねられたコメントをする前に、上記を覚えておいてください。
Windowsクリップボードからコピーアンドペーストを機能させる方法を知っている人はいますかOR WSL Ubuntu Linuxエミュレーション?)私はset clipboard=unnamedplus
を使用しています。 yy
、"+yy
などを使用しています。
はい、それはvim-gtk
であり、+xterm_clipboard
をサポートしています。
この解決策 githubユーザーのおかげでうまくいきました robbiev 。
完了のために、これは彼の答えからの抜粋です:
すべてのデフォルトオプションを使用して、クリップボードオプションがオンになっていることを確認します。
最後に、構成をファイル_config.xlaunch
_に保存します(それを使用して、今から開始します)。
Windowsのbashで_DISPLAY=localhost:0.0
_にエクスポート_.bashrc
_を配置し、開いている任意のターミナルで_source ~/.bashrc
_を実行します。
クリップボードサポートを使用してvimがインストールされていることを確認します。 _vim --version | grep clipboard
_は_+clipboard
_ではなく_-clipboard
_と表記する必要があります。また、vimでexコマンド:echo has('clipboard')
を実行し、_0
_と表示されている場合、クリップボードサポートは組み込まれていません。
クリップボードをサポートしていない場合は、クリップボードをサポートするようにコンパイルされたvimパッケージをインストールします。 _apt-get install vim-gtk
_。
これで、_"*p
_および_"*y
_を介してWindowsシステムクリップボードにアクセスできます。また、_set clipboard=unnamed
_ファイルに_.vimrc
_を挿入して、デフォルトに設定することもできます。
robbiev が言及しているように、SSH X転送を使用してリモートマシンからWindowsクリップボードを使用できるようになったはずです。
ConEmuについて誰も言及しなかった理由がわかりません。少なくとも、クリップボードの問題の半分を処理できます。
WindowsクリップボードをWSLに貼り付けるには、通常のCtrl + V
は正しく処理されます。
c:/users/name
は転写になり/mnt/c/users/name
。これは、WSLを介してネイティブに実行できます。WSLからコピーするには、今のところ、ハウスカーソルを使用する必要があります。それは90%以上の時間で機能します。
私のユースケースでは、WSLからコピーすることはあまりありません。そしてConEmuによる貼り付けヘルプをとても楽しんでいます。
QuickEdit Modeを有効にしている場合は、マウスでテキストを選択して右クリックするだけで、クリップボードにコピーできます。
QuickEditモードを有効にするには、上部のコンソールウィンドウを右クリックしてProperties(および/またはDefault)、次にQuickEdit Mode。
編集:そのままでは、VIM=から現在Windowsクリップボードにコピーすることはできません。ただし、WSLリポジトリ内のGitHub-Issueで、一部の人が発見したようですXmingまたはVcXsrvをそれぞれ使用してこれを行う方法: https://github.com/Microsoft/WSL/issues/892#issuecomment-275873108 。
EDIT2:.vimbuffer
を使用してもう一度試してください: https://stackoverflow.com/questions/44480829/how-to-copy-to-clipboard-in-vim-of-bash-on-windows =
WSLターミナルには多くの奇妙な点がありますが、Vimのクロスコピー/貼り付けを使用することは私の本の最大の不快感です。 2018年4月の時点で、Vimや他の領域に貼り付けるために(通常の正気を使用して)何も機能しなかったので、今のところ、問題やその他の関連するバッファを回避してみましょう。これは直接のWSLソリューションではなく、MSが修正を提供するまで、より良いターミナル+ SSHを使用する回避策です。
PuTTY 、または拡張フォーク Kitty は、WSLと比較してより堅牢な端末を提供します。ローカルホスト経由のSSHを使用し、カスタムポートを使用してWSL(または他のサーバー)に接続し、双方向またはネイティブの貼り付け、スクロールなどのほぼすべてのVim機能を含む、より充実した機能を備えた端末を取得できます。[すべての機能をトリガーするには、Vimの設定を微調整する必要がある場合があります]。
PuTTY/Kittyは、カスタムlocalhostポート上のWSLで利用可能なSSHサーバーを必要とします。 WSLでlocalhost SSHサーバーをまだセットアップしていない場合は、以下に簡単な概要を示します。
ステップ1)Ubuntu WSLターミナルを開き、Sudo su
を実行してrootとして認証し、vim /etc/ssh/sshd_config
を実行してSSHサーバーconfを開きます。
ステップ2)最初の数行の近くで「ポート」を探します。 22に設定される場合があります。衝突しないWSL SSHのカスタムポートを設定する必要があります。編集するにはi
を押します。たとえば、ポート9977を使用します。
ステップ3)開発者の場合、またはローカルホストのWSL SSHのキーを気にする必要がない場合は、パスワード認証を探します。 PasswordAuthentication yes
を設定できます。それ以外の場合、キーと高度なセキュリティ、またはWSLのファイアウォールを介したパブリックアクセスは、この回答の範囲を超えています。
ステップ4)編集が完了したら、escを押して編集モードを終了し、ファイルを保存して終了します:wq
。 service ssh restart
を使用してsshサービスを再起動します。この時点で、WSLをマスターコンソールとして開いたままにします。
ステップ5)新しいPuTTY/Kittyセッションを作成し、カスタムポート(この例では9977)を使用してlocalhostに接続します。 WSL資格情報を使用してログインします。ルートが必要な場合はSudo su
を使用します。これで、はるかに堅牢なシェルを使用できるようになります。必要なだけ繰り返しまたはscreen
ビューを繰り返します。
私はそれが直接的な答えではないことを知っていますが、少なくとも今のところ解決策です:)