假设我登录到 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,并在控制台之间进行剪切和粘贴。