Вот проблема: в проекте, над которым я работаю, вкладки вообще запрещены, и нам только говорят использовать пробелы.Однако иногда я заканчиваю редактированием устаревшего исходного файла, который содержит вкладки для отступа и выравнивания кода.
Пример кода с использованием вкладок (с символами табуляции, показанными как «| >>>»):
|>>>int a =||>>>|>>>0;
|>>>int foobar =|>>>10;
|>>>int toto =|>|>>>4;
Это пример, но вы должны учитывать, что весь файл заполнен им настолько, что его нельзя исправить вручную.
Я обычно делаю простой поиск-замену, напримерэто чтобы заменить табуляцию пробелами:
:%s/\t/ /g
Но код заканчивается так:
int a = 0;
int foobar = 10;
int toto = 4;
со всеми значениями, не выровненными.
То, что я хочу, этокоманда, которая может удалить ненужный пробел, но не отступ, чтобы получить что-то вроде этого:
int a = 0;
int foobar = 10;
int toto = 4;
т.е. каждый набор из 2+ пробелов должен быть уменьшен только до 1 пробела, кроме отступа.