Contents

在vim中粘贴文字

1. 概述

在这个简短的教程中,我们将了解如何在插入、正常和命令模式下粘贴文本。首先,我们将介绍 Vim 中最常用的寄存器。然后,我们将看到寄存器的作用。

此外,这些方法也适用于 NeoVim 等 Vim 变体。

2. Vim 注册

**Vim 寄存器 是内存中的一种桶,我们可以用它来存储我们的文本。**因此,我们可以稍后在需要时访问文本。**它与我们存储稍后粘贴的数据的剪贴板是一样的。**Vim 提供内置和自定义寄存器。这些寄存器有一个标识符,我们可以用它来提取(复制)和粘贴文本。

我们可以通过访问寄存器。**例如,如果我们想在正常模式下将文本拉入b寄存器,我们可以按“byy将当前行拉入b寄存器。现在,如果我们想从寄存器中粘贴,我们可以按“bp

Vim 中有不同的寄存器,但我们将介绍我们日常使用的基本寄存器。

2.1. 默认注册

default 寄存器可能是 Vim 中最常用的寄存器。**它存储已通过d、x、sc键删除或剪切的文本。***default 寄存器由“*符号标识。

2.2. 系统剪贴板寄存器

第二个最常用的寄存器是系统剪贴板寄存器。现在,当涉及到系统剪贴板时,我们有两种类型的寄存器。primary 剪贴板和secondary 剪贴板分别由 * 和 + 标识。由 Linux 发行版选择这两者之一。**但是,通常情况下,当我们使用鼠标中键时,文本会被拉入primary system clipboard 寄存器。**另一方面,使用 ** Ctrl+Vcopy 按钮复制,文本被拉入secondary system clipboard寄存器。**

3. Vim 中粘贴文本

3.1. 从primary system clipboard粘贴

要从*primary system clipboard *寄存器粘贴文本,我们可以使用 * 符号。让我们使用xclip 将一些文本复制到主剪贴板中:

$ uname -a | xclip -sel p

该命令会将uname 的输出复制到p剪贴板中。现在,我们可以在正常模式下使用“*p*组合键将文本粘贴到 Vim 中*:

/uploads/vim_paste_text/1.png

另一方面,我们也可以使用 Ctrl+R 组合键在命令模式下粘贴文本:

/uploads/vim_paste_text/2.png

3.2. 从secondary system clipboard粘贴

secondary system clipboard粘贴与从primary system clipboard 粘贴相同。众所周知,我们可以通过+符号访问辅助剪贴板。我们可以分别在普通模式和命令模式下使用“+pCtrl+r+”。**

*但是,如果我们使用Ctrl+Shift+v热键可能会更方便,因为它与“+p”*的作用相同。*类似地,Ctrl+Shift+c会将文本拉入+*寄存器以便在 Vim 外部粘贴。

3.3. 从默认寄存器粘贴

已删除或剪切的文本进入default unnamed 寄存器。例如,如果我们最近通过dd组合删除了一行,它会存入*default 寄存器。因此,我们可以撤消该行或将其粘贴到当前文档中“*寄存器”的其他位置。

*要以正常模式粘贴文本,我们可以使用“”p组合键。**注意两个双引号——一个用于选择寄存器,另一个用于default*寄存器。**但是,我们不应该依赖这个寄存器,因为它可以被覆盖。**相反,我们应该使用一个单独的寄存器来存储可重用的文本。

在命令模式下,我们可以按Ctrl+r”来粘贴未命名寄存器中的文本。