542得票30回答
在Vim中,有没有一种不将文本放入寄存器就可以删除的方法?

我经常使用Vim,想用刚刚复制的文本替换掉一段代码块。 但是当我删除要被替换的代码块时,该代码块自身会进入寄存器,从而清除我刚刚拷贝的文本。所以我已经养成了先复制、粘贴、再删除不想要的文本的习惯,但对于大段的代码块来说,这种方法变得很麻烦,因为需要将插入的文本和要删除的文本分开处理。 那么...

116得票2回答
从一个寄存器复制到另一个寄存器

如何将一个寄存器的内容复制到另一个寄存器而不使用剪贴板?我已经复制了一段文本,并且它被放在默认的"寄存器中。现在我想复制另一段文本,而不删除/覆盖"寄存器。因此,我想将"寄存器的内容移动到另外一个寄存器(比如说a或b寄存器),这样我就可以将新的文本复制到"寄存器中。怎样做呢?

78得票7回答
如何有效地清除vim寄存器?

Vim 中的寄存器是一个很棒的功能,可以用来存储文本片段甚至在其中存储的文本上运行命令。然而,我是个整洁的人,完成任务后会倾向于清理东西。 我知道如果想要清除寄存器a,可以使用qaq。 我还可以执行以下命令::let @a = '' 然而,这些解决方案似乎只是问题的权宜之计。当我执行:re...

14得票2回答
Ex模式下使用Vim寄存器

可能有两个问题。我想知道如何在 Ex 模式中引用寄存器。 例如,我正在编辑一个文件,我想将带有时间戳(或者只是日期戳)的文件保存。 我知道可以使用以下命令将寄存器设置为 shell 命令的输出值::let @a = system("date +\"%Y-%m-%d\"") 有没有办法取消此...

12得票4回答
Vim - 如何捕获斜杠之间的内容?

有没有一种方法可以捕获在/或\之间的文本?我知道还有其他符号的方法 --- ci" - 捕获"text"中的'text' vi( - 在foo(int var)内部捕获int var di[ - 删除[word]单词并保留[] 我唯一能找到的解决方法是使用Vim Surround插件,...

9得票2回答
在vim中合并寄存器

在vim中是否可以合并寄存器?例如,如果我有寄存器“a”,“b”,“c”,我是否可以轻松地创建一个寄存器“d”,它是三个寄存器的连接?也就是说,不需要将它们全部粘贴然后选择整个内容。

8得票2回答
如何在Wayland下复制Vim内容到系统剪贴板,而无需使用已编译的Vim“+clipboard”功能标志。

我无法复制到 + 或 * 寄存器。 从 Vim 中运行 :echo has('clipboard') 返回 0,意味着我没有该功能标志,我不想重新编译。 我正在运行 wayland,因此无法使用 X11 基础解决方案。

7得票3回答
vim中的缓冲区和寄存器有什么区别?

在vim中,命令:reg[ister]可以显示寄存器列表,而:ls则显示缓冲区列表,但我不确定寄存器和缓冲区之间的确切区别。我认为寄存器是虚拟内存,并且与"(双引号)+{a-zA-Z0-9.%#:-"}+{motion}一起使用。 那么,什么是缓冲区?我现在混淆了缓冲区和寄存器。 (唯一我...