我有一个Cucumber脚本,用于测试一个网站,在该网站中,我想用一堆不同Portlet的名称填充"fum-portlet"
Then I should see element "fum-chart-portlet"
Then I should see element "fum-chart-portlet"
Then I should see element "fum-chart-portlet"
Then I should see element "fum-chart-portlet"
字符串
像"fum-chart-portlet", "inflow-chart-portlet", "fees-chart-portlet"
据我所知,Vim只有用一个替换替换所有出现的选项。
1条答案
按热度按时间6tdlim6h1#
如果你需要替换为变量字符串,你必须指定它们。根据你的文件的外观,可能有很多方法可以做到这一点。
替换它们的最简单方法是使用 blockwise Visual mode。格式化您希望它们出现在输出中的替换字符串列表(如果您不愿意更改源文件,请在 scratch buffer 中执行此操作)。
在您的示例中,行与行之间有一个空行,如下所示:
字符串
将光标放在第一个字符上,按Ctrl+V进入分块可视模式,然后选择最后一个字符。按
y
拖动选择。在目标缓冲区中,将光标放在第一个
"fum-chart-portlet"
的开始处,按Ctrl+V并选择底部。按p
将所选块替换为先前拖动的块。请参阅
:help visual-block
了解更多信息。另一个想法是增量搜索和替换。您可以转到替换列表并将
yi"
作为第一个字符串。然后搜索/"\zsfum-chart-portlet\ze"
。(\zs
和\ze
用于从匹配中排除引号,参见:help /\zs
),按gn
以视觉方式选择它的 * 下一个 * 出现,然后按p
在所选内容上选择字符串。重复操作直到完成。参考:help v_gn
。实际上,我会使用简单的手动方法,通过搜索
/"\zsfum\ze-chart-portlet"
然后搜索gncinflow<Esc>gncfees<Esc>
来替换第一部分。