Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.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
Unix Vim搜索一个模式,如果它重复第二次,则删除到行尾_Unix_Vim - Fatal编程技术网

Unix Vim搜索一个模式,如果它重复第二次,则删除到行尾

Unix Vim搜索一个模式,如果它重复第二次,则删除到行尾,unix,vim,Unix,Vim,我正在尝试搜索一个模式,如果它重复第二次,请删除到行尾…,请帮助。 对于该用法,我正在使用:%s/my_character.*//g,但这将适用于一行中第一次出现的字符,但我需要从第二次出现的字符开始使用它…不确定我是否理解它,您应该给出一个简单的示例,它总是使它更清晰 我会这样做: :s/^\(.\{-}my_character.\{-}\)my_character.*$/\1/ 这将搜索: 尽可能少的字符在我的字符之前 我的性格 在第二个my_字符之前尽可能少的字符 我的性格 任何字符 并

我正在尝试搜索一个模式,如果它重复第二次,请删除到行尾…,请帮助。
对于该用法,我正在使用:%s/my_character.*//g,但这将适用于一行中第一次出现的字符,但我需要从第二次出现的字符开始使用它…

不确定我是否理解它,您应该给出一个简单的示例,它总是使它更清晰

我会这样做:

:s/^\(.\{-}my_character.\{-}\)my_character.*$/\1/
这将搜索:

尽可能少的字符在我的字符之前 我的性格 在第二个my_字符之前尽可能少的字符 我的性格 任何字符 并将其替换为在上述步骤中从1到3捕获的字符

例如:

输入:

werklj z sdkl Azlksd er.
搜索和替换:

:s/^\(.\{-}z.\{-}\)z.*$/\1/
输出:

werklj z sdkl A