10

例如,当我从 vim 中提取一些文本时,然后:wq, 并打开一个新文件。当我尝试粘贴刚刚拉出的文本时,它不起作用。那么如何在文件之间拉取文本呢?

4

4 回答 4

13

用于"+y将提取的文本发送到剪贴板,并将"+p其粘贴到新文件中。

因此,如果我有一个名为A的文件,其中包含abcdef并且我(在可视模式下)选择def然后"+y正常模式下按下。我刚刚复制def到系统剪贴板。现在我可以打开一个名为B的文件,然后(在正常模式下)"+p将文本def粘贴到文件B中。

于 2013-07-30T21:43:00.033 回答
8

写完后不要退出编辑器:wq

相反,只需使用 写入文件,:w然后使用:e file. :sp file或通过拆分和^W在屏幕之间切换来同时编辑两者。

于 2013-07-30T21:49:17.960 回答
3
  • 如果你有 X11/windows,你可以使用"+y"*y猛拉。并粘贴相同的寄存器。
  • 不做:wq然后vim newfile:e newfile在同一个vim中做。然后你可以在缓冲区之间拉取和粘贴。只需按下yp
  • 如果您在 tty 或通过 ssh 上工作,并且不想执行 (2),您可以将提取的部分保存到文件中,在 newfile 中读取文件。

我推荐(2)选项。

于 2013-07-30T21:50:26.077 回答
2

Vim 可以同时查看多个文件。使用:sp *file_name*“split”或:vs *file_name*“vertical split”命令在同一终端查看另一个文件。

在打开的文件窗口之间导航很简单:按Control_key + w,然后按“h”、“j”、“k”或“l”将光标移动到文件窗口的左侧、底部、顶部或右侧当前窗口的。只需在一个终端窗口中“拉出”您要复制的文本,移动到包含您要复制到的文件的终端窗口,如上所述,然后像往常一样将文本“放置”在光标位置。

顺便说一句,您可以使用该:wqa命令关闭所有打开的终端窗口并将对打开文件所做的更改写入磁盘。

于 2013-07-31T01:46:28.613 回答