UNIX - 如何使用 VI 打开的文件在不同的 bash 窗口之间复制和粘贴?

UNIX - 如何使用 VI 打开的文件在不同的 bash 窗口之间复制和粘贴?

假设我登录到 bash,在 vi 中打开一个文件,然后使用 alt-f2 打开一个新终端。登录后,我导航到第二个文件并在 vi 中打开它。如何在这两个文件之间进行 CnP?

我在 wikia.com 上找到了这个。我不熟悉这个命令 shift-8-yy。我按照 vimtutor 的说明使用虚拟模式。我尝试了这个顺序,但没有成功。

而且,我读过有关寄存器的文章。我发现有提到使用 double_quote-p 来“放置”或粘贴寄存器,但这在另一个文件中不起作用。第二个文件报告寄存器为空。

另外,我在 VIM 文档中读到,可以在分屏下打开多个文件。这可能是解决问题的途径。我经常遇到的需求是,我需要在不同的 bash 窗口中导航以查找文件,然后希望在两个窗口之间复制。而我想,分割的 VIM 窗口对于同一目录中的文件很有用。

答案1

您无法使用现有的 vim 以标准通用方式独立完成此操作。

首先确保你已在你的发行版上编译并安装了良好的版本。

然后我建议要么使用gvim单独的窗口,要么使用vim -o打开多个文件并在框架之间^W^W切换然后复制和粘贴。

答案2

难怪它对你不起作用。你拼错了命令。它不是shift- 8- y- y。也不是double_quote- p。命令如下:

  • 将当前行复制到 X11 剪贴板"+yy
  • 从 X11 剪贴板粘贴"+p
  • 将当前行拉至 X11(主)选择行"*yy
  • 从 X11(主要)选择粘贴"*p

根据喜好修改动作部分。 vim当然,必须知道那里有一个 X 服务器。因此,如果您没有在 X 会话中运行它,您必须明确告诉它 X 服务器在哪里以及要在该服务器上使用什么显示器,因为 X 会话会隐式地继承DISPLAY环境变量等等。

答案3

您可能需要安装“通用鼠标”(gpm)包,它允许在没有 GUI 的情况下使用鼠标复制和粘贴。

答案4

由于您似乎正在使用控制台(没有 X 窗口,因此许多其他答案都不相关),您可能只会在一个 vim 会话中编辑多个文件。尝试:split ...同时编辑这两个文件,并使用 vim 的剪切缓冲区在它们之间移动文本。

或者,您可以使用 gpm,并在控制台之间进行剪切和粘贴。

相关内容