如何将终端中远程主机上的 vim 中的文本复制到本地 MacOS 剪贴板?

如何将终端中远程主机上的 vim 中的文本复制到本地 MacOS 剪贴板?

我已经用 Google 搜索了所有相关内容,但都无法解决问题。帮忙吗?

语境

我在远程 Linux 机器上运行 vim,我通过 Terminal.app ssh 连接到该机器。
我在远程机器上有 root 权限,因此我可以安装任何我想要的 vim。我尝试安装 vim-gtk,并确认 vi --version 包含 +clipboard 和 +xterm_clipboard 我不使用 gnome,所以这是不可能的。

症状

当我尝试使用"*5yy时,vim 报告说它提取了 5 行,但它们没有出现在我的 MacOS 系统剪贴板中。

帮助!

答案如下如何从 vim 复制到 Mac 剪贴板?都假设我在 MacOS 机器上运行 vim。我知道这是一个常见问题,但似乎没有人完全按照我的方式操作。有人有这个设置并知道如何让它工作吗?
谢谢任何帮助!
与此同时,作为一种解决方法,我将只使用 pico,出于某种原因,它可以轻松地完成我想要的工作,没有任何问题。事实上,它更好;我只需选择然后复制/粘贴即可。
但如果可能的话,我想知道如何为 vim 解决这个问题,因为我不能依赖 pico 存在于任何地方或所有运行级别。
干杯

答案1

SSH 不提供对“pbcopy”使用的 macOS 特定 IPC 系统的访问权限;它仅提供“文本终端”界面,而剪贴板访问通常不是其中的一部分。

有些终端确实支持将文本复制到剪贴板的操作(称为“OSC 52”),但这不是通用的——在 macOS 上,只有 iTerm2 内置了对此的支持,而 Terminal.app 则不支持。如果您愿意使用 iTerm2,请查看这篇博文;或者如果你不介意编译额外的工具,可以尝试这个黑客对于 Terminal.app(它也可以与“osc52pty ssh”一起使用)。

SSH 确实有能力提供对 Linux 工具(例如“xclip”或“xsel”)使用的 X11 图形界面的访问,因此如果您可以在 macOS 上运行 XQuartz(这仍然是一件事情吗?),那么您应该能够遵循任何特定于 Linux 的教程(例如,"+y如果启用了 SSH X11 通道并且您正在使用编译了 X11 支持的 Vim 版本,则 Vim 应该可以工作)。

与此同时,作为一种解决方法,我将只使用 pico,不知为何,它可以轻松完成我想要的操作,没有任何问题。事实上,它更好;我只需选择然后复制/粘贴即可。

选择和复制/粘贴根本不通过远程 pico 或 SSH - 它由本地 Terminal.app 处理。无论使用哪种文本编辑器,您都可以执行此操作。

相关内容