如何在Vi编辑器中从其他文件复制

4

如何使用Ctrl-C从其他文件复制,并在vi编辑器中使用p yank(粘贴),我不知道!!

谢谢!

3个回答

4
你还可以执行::r 文件名
这将引入该文件。它也可用于命令的输出:
:r! grep some_text file
:r! which perl

另一种方法是使用缓冲区。
:e other_file.txt

一旦你使用 "yank" 命令,你可以使用 ":bn" 切换到另一个缓冲区并粘贴。
如果你只关心粘贴操作,ctrl-v 或 shift+insert 也可以用来粘贴剪贴板的内容。

必须使用Ctrl + V将内容复制到other_file.txt中,但我想要... - schweinsteiger

3
一旦你在vi中复制了文本,你可以输入<ESC>:e filename打开另一个文件进行编辑。你的复制缓冲区仍然是相同的,让你可以将文本粘贴到另一个文件中。你必须从一个vi文件中复制文本到另一个vi文件中。
如果你想从vi之外粘贴文本,你需要特别设置你的终端和vi以允许这样做。

你可以选择使用“:split otherfile”或“:vsplit otherfile”命令,同时显示原始文件和你想要粘贴行的目标文件。 - Pete

1

不行。yank缓冲区是vim私有的,不与系统剪贴板共享。


虽然从技术上讲这是正确的,但你可以在同一个vim会话中打开多个文件并同时显示多个文件。 - Bruce Armstrong
@Bruce:那又怎样?你仍然无法在一个窗口/缓冲区中使用Ctrl-C,然后在另一个窗口/缓冲区中使用“p”进行粘贴。 - florin
同意...你只是不使用Ctrl-C来“复制” - Matthieu
你是正确的,似乎很麻烦尝试避免使用ctrl+v。只是我很难接受在电脑方面会出现“不能”的情况。你可以花时间修改gvim以使用剪贴板作为主缓冲区。这不是不可能的,只是不值得这样做。对于无意中引起争端我深感抱歉。 - Bruce Armstrong

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接