Как я могу рекурсивно использовать Global в VIM?
Вопрос
Что-то не так в ":g-2-g /3/" или рекурсия в глобальном просто отсутствует?Я не могу понять причину ошибки:
E147:Не удается сделать : глобальный рекурсивный
Как я могу получить рекурсивный глобальный поиск в VIM?
[Первоначальное предложение Нила оператору \| ]
g/1.*2\|2.*1/
Недостатком является то, что комбинации расширяются на n чисел.Для трех чисел количество комбинаций равно 3!(=6) то есть
g/1.*2.*3\|2.*1.*3\|3.*1.*2\|1.*3.*2\|2.*3.*1\|3.*2.*1/
Для n чисел количество комбинаций равно n!.
[Решение с помощью оператора \&]
Брайан Карпер и Нил Баттеруорт нашли решение.Большое спасибо за них!
g/.*1\&.*2\&.*3/
Это для всей линейки:
g/.*1\&.*2\&.*3\&.*/
Решение
Новая информация: Это делает то, что вы хотите - последовательность "\&" является оператором "и":
g/.*1\&.*2\&.*3/
Объяснение Брайана Карпера (см. Комментарии и еще раз спасибо):
/1\&2/
не сработало бы, потому что обе ветви должны совпадать "в одной и той же позиции"./.*1\&.*2/
дайте совпадению закрепиться в начале строки а затем разверните, насколько это необходимо чтобы найти числа