Я использую
:set noet|retab!
Но проблема, с которой я сталкиваюсь, заключается в замене всех экземпляров 4 пробелов на вкладки во всем файле.Мне нужен vim, чтобы заменить только 4 пробела в начале строк.
Если я удалю!в конце retab пробелы нигде не заменяются.
Я пытался использовать пользовательскую функцию, которую кто-то создал:
" Retab spaced file, but only indentation
command! RetabIndents call RetabIndents()
" Retab spaced file, but only indentation
func! RetabIndents()
let saved_view = winsaveview()
execute '%s@^\( \{'.&ts.'}\)\+@\=repeat("\t", len(submatch(0))/'.&ts.')@'
call winrestview(saved_view)
endfunc
, но при запуске я получаю небольшое сообщение об ошибке:
:RetabIndents
Обнаружена ошибка при обработке функции RetabIndents:
строка 2:
E486: шаблон не найден: ^ ({4}) +