Заменяйте каждую вкладку ТОЛЬКО в начале каждой строки пробелами

Поэтому заменить все вкладки в файле пробелами не сложно.
Например, в vim я могу сделать %s/\t/ /gc

И если я хочу заменить те в начале каждой строки, а не в середине, я могу сделать %s/^\t/ /gc

Но если есть строка с одним и строки с большим количеством вкладок в начале и строки с вкладками посередине, и я хочу заменить каждую вкладку в начале строки пробелами, чтобы сохранить структуру отступов файла, то есть что я не знаю, как это сделать.

В vim или sed или обычно с использованием регулярных выражений.

One Solution collect form web for “Заменяйте каждую вкладку ТОЛЬКО в начале каждой строки пробелами”

Вы можете использовать оценочный регистр для замены любого количества вкладок соответствующим количеством пробелов. Например:

 :s/^\t\+/\=repeat(' ',len(submatch(0))) 

Объяснение:

 :s/ " Replace ^ " At the start of a line \t\+ " One or more tabs /\= " With the following evaluated as vimscript: repeat(' ',len(submatch(0))) " 4 spaces times the length of the previously matched string 
  • Трейлинг пространства при копировании из gnome-терминала с использованием zsh
  • Полоса прокрутки пробелов из файлов
  • Какой скрипт perl будет использовать scp-каталог с пробелами?
  • Git Server: игнорировать пробельные изменения в новых коммитах
  • Документ с отступом здесь вызывает синтаксическую ошибку
  • Rsyncing несколько файлов с пробелами в именах
  • Linux и Unix - лучшая ОС в мире.