Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
替换搜索结果vim中的一个单词_Vim_Replace - Fatal编程技术网

替换搜索结果vim中的一个单词

替换搜索结果vim中的一个单词,vim,replace,Vim,Replace,是否可以替换搜索结果中的节?比如我现在 修订号 1 我想在第二行用${var}替换数字(1),所有其他信息保持不变 如果我打字 :%s/revision_no<.*\n.*value">[0-9]\*/revision_no<(all the characters...) value">${var}/g :%s/revision\u no${var}/g 我可能会丢失所有格式(涉及缩进) 因此,我想知道是否有一种方法可以在整个搜索结果中将“1”替换为${var}。 `

是否可以替换搜索结果中的节?比如我现在

修订号
1

我想在第二行用${var}替换数字(1),所有其他信息保持不变

如果我打字

:%s/revision_no<.*\n.*value">[0-9]\*/revision_no<(all the characters...) value">${var}/g
:%s/revision\u no${var}/g
我可能会丢失所有格式(涉及缩进)

因此,我想知道是否有一种方法可以在整个搜索结果中将“1”替换为${var}。 `

您可以捕获其他匹配的文本(要保留),然后在替换中引用该文本。
\(…\)
是一个捕获组(
:help/\(
),并且
\1
在替换中引用它(第一个这样的组)。这是传统的方式,它也适用于
sed
和许多其他基于正则表达式的工具:

:%s/\(revision_no<.*\n.*value">\)[0-9]\+/\1${var}/g
您可以捕获其他匹配的文本(要保留),然后在替换中引用该文本。
\(…\)
是一个捕获组(
:help/\(
),而
\1
引用它(第一个这样的组)在替换中。这是传统的方法,它也适用于
sed
和许多其他基于正则表达式的工具:

:%s/\(revision_no<.*\n.*value">\)[0-9]\+/\1${var}/g

谢谢!您似乎对Vim不太熟悉。了解如何查找命令和导航内置的
:help
;它很全面,提供了许多提示。您学习Vim的速度不会像其他编辑器那么快,但如果您致力于持续学习,它将证明是一个非常强大和高效的编辑器。谢谢!您似乎对Vim不太熟悉。了解如何查找com命令和导航内置的
:help
;它很全面,并提供了许多提示。您学习Vim的速度不会像其他编辑器那样快,但如果您致力于持续学习,它将被证明是一个非常强大和高效的编辑器。