带有模式的选定行:Vim 视觉模式

Selected lines with pattern: Vim Visual Mode

我想要 select(在 Vim 中)以相同模式开头的行。例如,如果我有这个:

if (...) {
    print "Accepted\n"
    o.attr_out = "Accepted";
}
else if (...) {
    print "Partially accepted\n"
    o.attr_out = "Partially Accepted";
}
else if (...) {
    print " NOT Accepted\n"
    o.attr_out = "Not Accepted";
}

在 Vim 中快速跳至此。

if (...) {
    if (debug == true) print "Accepted\n"
    o.attr_out = "Accepted";
}
else if (...) {
    if (debug == true) print "Partially accepted\n"
    o.attr_out = "Partially Accepted";
}
else if (...) {
    if (debug == true) print " NOT Accepted\n"
    o.attr_out = "Not Accepted";
}

您可以使用vim命令:

:%s/print "/if ( debug == true ) &/g

这里是命令的快速分解:

% - 在搜索中包含所有行

s - 用第二个替换第一个模式。

/print "/ - 您正在搜索的模式。

if ( debug == true ) &/ - 您要用其替换模式的文本(注意 & 将放回在搜索中找到的 print " 文本)。

g - 替换同一行中的所有匹配项。 (从技术上讲,您在这里不需要它 - 因为每行只出现一次 print ")。

有关详细信息,请参阅 :help :s 命令。