Я часто работаю с текстовыми файлами, которые имеют переменное количество пробелов в качестве разделителей слов (текстовые процессоры, такие как Word, делают это, чтобы распределить справедливую сумму пробелов из-за разного размера букв в определенных шрифтах, и они ставят эту раздражающую переменную величину пространства даже при сохранении в виде обычного текста).
Я хотел бы автоматизировать процесс замены этих последовательностей пробелов, имеющих переменную длину с одиночными пробелами. Я подозреваю, что регулярное выражение может это сделать, но есть также пробелы в начале абзацев (обычно четыре из них, но не всегда), которые я хотел бы оставить неизменными, поэтому в основном мое регулярное выражение также не должно касаться ведущих белых пробелов, и это добавляет к сложности.
Я использую vim, поэтому регулярное выражение в диалоговом окне regex vim было бы очень полезно для меня, если это выполнимо.
Мой текущий ход выглядит следующим образом:
:%s/ \+/ /g
но он работает неправильно.
Я также подумываю написать vim script, который мог бы разобрать текстовые строки один за другим, обрабатывать каждую строку char на char и пропускать пробелы после первого, но у меня такое чувство быть чрезмерным.