リモートvpsのvimとローカルvimの間でデータをコピーして貼り付ける方法は?

リモートvpsのvimとローカルvimの間でデータをコピーして貼り付ける方法は?

SSHを使用してリモートVPNに接続します。

ssh user@vps_ip

vimを使用してリモートvpsでファイルを編集し、1行を作成します。

some text

通常モードでを押します。ローカルvimにyyどのように貼り付けますか?その逆。some text

1.VIMのGUIスタイル
Debianオペレーティングシステムのローカルvimから:

vim --version | grep clipboard
+clipboard       +job             +path_extra      +user_commands
+eval            +mouse_dec       +statusline      +xterm_clipboard

Debianオペレーティングシステムを使用するリモートvimでは:

vim --version | grep clipboard
-clipboard       +iconv           +path_extra      -toolbar
+eval            +mouse_dec       +startuptime     -xterm_clipboard

リモートvimにvim-gtkをインストールできません。

sudo yum  install -y vim-gtk
No package vim-gtk available.

2. ローカルシステムにXサーバーがありますか?

3. ローカルシステムで GUI ログインセッションを使用していますか?
ローカルオペレーティングシステムのデスクトップはLXDEであり、GUIログインセッションに入ります。

答え1

実行してリモートファイルを開き、vim scp://user@vps_ipi/remote_fileローカルファイルを開くことができます。:e local_fileその後、コマンドを使用してバッファ間を切り替え、:bnコマンドyyを使用してpバッファをコピーして貼り付けることができます。

リモートスクリプトを開き、ggVGyバッファを切り替え:bnますP

答え2

同じホスト上の2つの異なるプロセスのテキストを貼り付けることもできないため、異なるホスト上のプロセスのテキストも貼りvim付けることはできません。

短いテキストでは、ある端末ウィンドウのvimからホストのクリップボードにテキストをコピーし、ホストのクリップボードから別の端末ウィンドウのvimに貼り付けることができます。端末ウィンドウを使用しない場合でも、tmux同様の効果を使用できます。内部のsshセッションemacsも機能しますが、emacsを使用したい場合はvimに尋ねないでください。

長いテキストの場合は、同様のプログラムを使用してscpリモートホストからコピーし、ローカルでファイルを使用します。

答え3

を使用すると、ssh -Y <hostname>SSHセッションはローカルコンピュータのクリップボードにアクセスできます。リモートコンピュータでX11Forwardingこの機能が有効になっていることを確認してください。/etc/ssh/sshd_config

両方のシステムで.vimrcに追加します。

 set clipboard=unnamedplus

デフォルトでは、クリップボードを使用したコピー操作が許可されます。これで、通常のコピーと貼り付けが別のコンピュータで機能します。あるいは、"+y指定されたクリップボードレジスタを使用して同じ効果を得ることもできます。

リモートvimのサポートがないため、あなたの場合は答えがうまくいかないようですが、clipboardvimを使用してコンピュータ間でテキストをコピーする方法を検索するとGoogleが表示されるので、完全性のためにこの回答を追加したかったのです。他の人に便利です。

関連情報