是否可以用 Vim 删除所有单词周围的 \ac{<word>}?

Is it possible to delete \ac{<word>} around all words, with Vim?

对于大型报告,我决定在缩写列表中的每个单词周围添加 \ac{ },但是我们现在发现这是一个坏主意,我想删除它们。

我当然可以半自动地为缩写列表中的每个单词查找替换,或者编写一个脚本。但我更想知道是否有一种神奇的 Vim 方法可以做到这一点。

如有任何帮助,我们将不胜感激。

您可以通过多种方式解决此问题,但最简单的可能是简单的搜索和替换:

:%s/\ac{\([^}]\+\)}//g

这将:

  1. 在整个缓冲区中搜索和替换::%s/
  2. 找到左边的部分:\ac{
  3. 开始一个新的捕获组:\(..\)
  4. 获取不是 } 的每个字符:[^}]\+
  5. 找到正确的部分:}
  6. 用捕获组替换所有匹配的字符:/
  7. 在每一行多次应用这个:/g