【问题标题】:Using vi/vim to insert word between multiple lines使用 vi/vim 在多行之间插入单词
【发布时间】:2012-12-02 04:08:48
【问题描述】:

我有一个 XML,我想在多行上搜索和匹配字符串:

</head>
<head>

这个想法是最终插入

</head>
</body>
<body>
<head>

我认为这对 vi 是可行的,我研究了一下,发现“_s”,但它似乎不适用于多行。这是我尝试过的:

/<\/head>\_s<head>

有人可以帮忙吗?

【问题讨论】:

  • 你提供的模式对我有用并突出显示即使中间有新行
  • 它说 E486: Pattern not found: /_s... 是否有标签是否重要? \t\n\t ?
  • 是的,这很重要。使 \_s* 匹配多个换行符、制表符、空格等

标签: xml sed vi


【解决方案1】:

您提供的模式按预期工作:

<head>
</head>
<head>
</head>
<head>
</head>

:%s/<\/head>\_s<head>/<\/head>\r<body>\r<\/body>\r<head>/gc
# remove c

<head>
</head>
<body>
</body>
<head>
</head>
<body>
</body>
<head>
</head>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-20
    • 1970-01-01
    • 2015-03-05
    • 1970-01-01
    • 2014-11-06
    • 1970-01-01
    • 2015-06-11
    相关资源
    最近更新 更多