Неформальное определение шаблона, приведенное в вопросе, можно прочитать как
«два знака равенства в ряд, ни перед ними, ни после
знак ". Естественный способ превратить это словесное описание в краткий Vim
в форме регулярного выражения используется шаблон поиска \@<!
и \@!
multi
элементы (см. :help /multi
для обзора). Первое позволяет оставить вне
вхождения, начинающиеся с определенного шаблона (см. :help /\@<!
).
последнее позволяет игнорировать случаи, заканчивающиеся неподходящим
шаблон (см. :help /\@!
).
:%s/=\@<!===\@!/&=/g
Как я могу судить по истории ваших вопросов и ответов на
StackOverflow, замена, вероятно, должна быть выполнена в JavaScript или
PHP файлы. Поскольку оба языка имеют оператор неравенства !==
, а также
===
равенство один, ==
в первом также является предметом замены
как вы описываете это в вопросе. Если это поведение нежелательно, измените
указанная выше команда замещения выглядит следующим образом.
:%s/[!=]\@<!===\@!/&=/g