我经常使用Vim,想用刚刚复制的文本替换掉一段代码块。 但是当我删除要被替换的代码块时,该代码块自身会进入寄存器,从而清除我刚刚拷贝的文本。所以我已经养成了先复制、粘贴、再删除不想要的文本的习惯,但对于大段的代码块来说,这种方法变得很麻烦,因为需要将插入的文本和要删除的文本分开处理。 那么...
如何将一个寄存器的内容复制到另一个寄存器而不使用剪贴板?我已经复制了一段文本,并且它被放在默认的"寄存器中。现在我想复制另一段文本,而不删除/覆盖"寄存器。因此,我想将"寄存器的内容移动到另外一个寄存器(比如说a或b寄存器),这样我就可以将新的文本复制到"寄存器中。怎样做呢?
Vim 中的寄存器是一个很棒的功能,可以用来存储文本片段甚至在其中存储的文本上运行命令。然而,我是个整洁的人,完成任务后会倾向于清理东西。 我知道如果想要清除寄存器a,可以使用qaq。 我还可以执行以下命令::let @a = '' 然而,这些解决方案似乎只是问题的权宜之计。当我执行:re...
可能有两个问题。我想知道如何在 Ex 模式中引用寄存器。 例如,我正在编辑一个文件,我想将带有时间戳(或者只是日期戳)的文件保存。 我知道可以使用以下命令将寄存器设置为 shell 命令的输出值::let @a = system("date +\"%Y-%m-%d\"") 有没有办法取消此...
有没有一种方法可以捕获在/或\之间的文本?我知道还有其他符号的方法 --- ci" - 捕获"text"中的'text' vi( - 在foo(int var)内部捕获int var di[ - 删除[word]单词并保留[] 我唯一能找到的解决方法是使用Vim Surround插件,...
在vim中是否可以合并寄存器?例如,如果我有寄存器“a”,“b”,“c”,我是否可以轻松地创建一个寄存器“d”,它是三个寄存器的连接?也就是说,不需要将它们全部粘贴然后选择整个内容。
我无法复制到 + 或 * 寄存器。 从 Vim 中运行 :echo has('clipboard') 返回 0,意味着我没有该功能标志,我不想重新编译。 我正在运行 wayland,因此无法使用 X11 基础解决方案。
在vim中,命令:reg[ister]可以显示寄存器列表,而:ls则显示缓冲区列表,但我不确定寄存器和缓冲区之间的确切区别。我认为寄存器是虚拟内存,并且与"(双引号)+{a-zA-Z0-9.%#:-"}+{motion}一起使用。 那么,什么是缓冲区?我现在混淆了缓冲区和寄存器。 (唯一我...