Ssh

如何在遠端 vps’vim 和本地 vim 之間複製和粘貼數據?

  • July 11, 2019

使用 ssh 連接遠端 vps。

ssh user@vps_ip

用vim編輯遠端vps中的文件並寫一行

some text

在普通模式下,按yy,如何粘貼some text到我的本地’vim?

反之亦然。

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登錄會話。

您可以通過執行打開遠端文件vim scp://user@vps_ipi/remote_file,然後使用 打開本地文件:e local_file,之後您可以在緩衝區之間切換,:bn並使用yyp命令在緩衝區之間進行複制和粘貼。

我進行了打開遠端腳本的測試,然後通過ggVGy切換緩衝區複製其所有內容:bn並使用P.

您甚至無法從vim同一主機上的兩個不同程序粘貼文本,因此您不能從不同主機上的程序粘貼文本。

對於短文本,您可以將文本從一個終端視窗中的 vim 複製到主機的剪貼板,然後將其從主機的剪貼板粘貼到另一個終端視窗的 vim 中。如果你不使用終端視窗,你也可以使用tmux類似的效果。裡面的 ssh 會話emacs也可以,但如果你想使用 emacs,你就不會問 vim。

對於較長的文本,我會使用 porgram 將它們複製到遠端主機/從遠端主機複製scp,然後在本地使用該文件。

引用自:https://unix.stackexchange.com/questions/470851