如果我想将文本从一个文件复制vi
到另一个文件,我必须突出显示文本,Control-Shift-C退出第一个文件,打开第二个文件,然后通过Control-Shift-V.感觉必须有一种更简单的方法来做到这一点——即仅使用键盘命令。有什么建议么?
答案1
编辑文件时,您可以用来:e filename
打开另一个文件并:rew
返回到原始文件,如下所示:
- 打开原始文件
vi foo
- 复制文本例如
yy
(复制一行) - 打开第二个文件进行编辑
ESC :e bar
- 输入您的文字
p
(然后保存:w
) - 返回第一个文件
ESC :rew
答案2
vim 可以设置 X 剪贴板支持。如果您的发行版未将 vim 与 X 支持捆绑在一起,请通过 --with-x=yes 进行配置。默认情况下,X 剪贴板可用作 * 缓冲区,X 剪切板(选择)可用作 " 缓冲区,因此选择一个区域并键入"+y
会将所选内容拉到 X 剪切板,并将"*y
拉到 X 剪贴板。同样,"*p
将从 X 剪贴板和"+p
X 选择进行粘贴。
您可以通过运行将 vim 中的默认(匿名)缓冲区设置为 X 剪贴板set clipboard=unnamed
。然后你就可以y
直接p
从X剪贴板中获取。
答案3
当然:
- 打开你的文件:
vi foo
- 在您的文件中,打开第二个:ESC :open bar
- 回到第一点:ESC :prev
- 要复制文件的内容:ESC :1,$ y
- 转到下一个文件:ESC :n
- 粘贴它:ESC p
也许还有更短的路?