Lookbehind 并在 Vi 中将其与 grep 一起使用?

Lookbehind 并在 Vi 中将其与 grep 一起使用?

学习 Vim 后,尝试进入 Vi(而不是 Vim)。

  1. Vim 有一个类似的lookabehind /\(Not this\)\@<!$,如何在 Vi 中做到这一点?
  2. 如果我想在 Vim 中递归地向下搜索目录,我可以这样做:vimgrep /\(Not this\)\@!$ -r *,那么 Vi 呢?
  3. 如果(1)和(2)在Vi中不可用,你如何实现它们?

请创建标签lookbehindregex.

答案1

根据 vim 帮助 ( :help pattern-overview),\@ivi 不支持。

您可能可以枚举所有可能的组合来避免这种情况,或者找到不同的表达式。或者,我想你可以将这项工作交给一些外部工具或解释器,比如 perl。我检查了egrep——它不支持它。你在寻找什么?

出于兴趣,为什么你更喜欢 vi 而不是 vim?

答案2

我通常最终会在 $HOME 中安装完整版本的 vim,甚至在像 Solaris 站这样的 Unix 站上,最初只有旧的 vi。

否则,grep+egrep+$(),甚至是 Edd 建议的 perl,都可以在 shell 中实现这一目的。

相关内容