如何将文本从 vi 复制/粘贴到不同的应用程序



是否可以在不使用 :vs的情况下复制/粘贴文本?如果我打开了两个 vi 窗口,我可以用鼠标复制/粘贴文本。如何使用键盘进行操作?

发现了两个与此类似的现有问题,但没有一个回答我的问题。
如何将VI中的代码复制到剪贴板
在VI中将内容从一个文件复制并粘贴到另一个文件

我相信有很多方法,但我使用 marksregisters 来做到这一点。

标志着

您可以使用 m 后跟要使用的标记名称将标记放置在文件中的任意位置。

您可以使用 a 和 z(大写和小写)之间的任何字母来命名您的标记。

您可以转到包含带有'键的标记的行。

例如,mx标记 x 标记一行,'x将光标移动到包含标记 x 的行。

您可以使用反引号键转到标记的确切位置:"

例如,要从当前光标位置拉到包含标记 x 的行,您需要输入y'x

寄存 器

为了使用剪贴板,您需要使用寄存器,它表示您可以存储拉动的文本的位置。

就像您可以为每个字符使用不同的标记一样,您可以命名将文本拉到的寄存器。

您在拉动/推杆时使用"键来引用寄存器。

例如"ay'x会拉动光标和包含 x 的行之间的文本以注册 a

剪贴板由一个特殊的寄存器表示:*+,具体取决于您的环境。

要将光标和包含标记 x 的行之间的文本拉到剪贴板,请输入以下内容:"+y'x

这说:使用缓冲区+(剪贴板)在光标和包含标记 x 的行之间存储文本。

完成此操作后,您的文本将出现在剪贴板中。 您可以使用 CONTROL-V 将其粘贴到其他应用中。

注意:在某些环境中,剪贴板由名为 * 的缓冲区表示。


这听起来可能让人不知所措,但一旦你习惯了它,它就会非常强大。

我每天使用数百次。

如果您正在编辑具有多个关键兴趣点的文件,则可以使用不同的标记标记文件的每个部分,并在需要编辑的代码之间快速移动光标。

同样,如果您需要重复复制几段文本,则可以将每段文本存储在不同的寄存器中,以提高粘贴效率。

您可以使用+寄存器进行复制/粘贴(阅读更多:访问系统剪贴板)

"+gyy将拉一行,并将其放入+寄存器中。您可以在正常模式下粘贴"+p粘贴到其他窗口中,也可以在插入模式下粘贴Ctrl+r +

如果您不想使用拆分窗口,除了使用系统剪贴板之外,确实没有其他方法可以在窗口之间粘贴。

@up用尽了这个主题。我可以补充一点,大多数相关的组合都是与系统组合相关的,在 Gvim 的配置中找到您(例如,CTRL+C CTRL+V 等的窗口映射在 mswin.vim 中)

最新更新