如何在 Vim 中第一次出现字符之前添加文本?
How to add text before the first occurence of a character in Vim?
我有文字
af_ZA_work_013_A;135.300;150.203;Spreker-A;;;[no-speech] #mm
af_ZA_work_013_A;135.300;150.207;Spreker-B;;;[no-speech] #something
我想在每行的第一个 ;
之前添加 .wav
,所以我会得到
af_ZA_work_013_A.wav;135.300;150.203;Spreker-A;;;[no-speech] #mm
af_ZA_work_013_A.wav;135.300;150.207;Spreker-B;;;[no-speech] #something
我该怎么做?
s/search_regex/replace_regex/
将逐行执行您的查找和替换。
默认情况下,这仅在当前行上完成,并且仅在当前行上 search_regex
的第一个匹配项上完成。
前置 %
(%s/search/replace/
) 将在文件中的 all 行上执行查找和替换,每行最多执行一次替换。您可以提供范围(1,3s
将在第 1-3 行执行)或其他行修饰符,但这与此处无关。
追加 g
(s/search/replace/g
) 将每行进行多次替换。同样,这里不相关,但对其他场景有用。
您可以搜索 ;
并替换为 .wav;
(有一些方法可以保留搜索词并添加到其中 using capture groups 但是对于一个静态字符,重新键入会更快它)。
TL;DR: :%s/;/.wav;/
随心所欲。
我有文字
af_ZA_work_013_A;135.300;150.203;Spreker-A;;;[no-speech] #mm
af_ZA_work_013_A;135.300;150.207;Spreker-B;;;[no-speech] #something
我想在每行的第一个 ;
之前添加 .wav
,所以我会得到
af_ZA_work_013_A.wav;135.300;150.203;Spreker-A;;;[no-speech] #mm
af_ZA_work_013_A.wav;135.300;150.207;Spreker-B;;;[no-speech] #something
我该怎么做?
s/search_regex/replace_regex/
将逐行执行您的查找和替换。
默认情况下,这仅在当前行上完成,并且仅在当前行上 search_regex
的第一个匹配项上完成。
前置 %
(%s/search/replace/
) 将在文件中的 all 行上执行查找和替换,每行最多执行一次替换。您可以提供范围(1,3s
将在第 1-3 行执行)或其他行修饰符,但这与此处无关。
追加 g
(s/search/replace/g
) 将每行进行多次替换。同样,这里不相关,但对其他场景有用。
您可以搜索 ;
并替换为 .wav;
(有一些方法可以保留搜索词并添加到其中 using capture groups 但是对于一个静态字符,重新键入会更快它)。
TL;DR: :%s/;/.wav;/
随心所欲。