Подтвердить что ты не робот

Можно ли автоматически распознавать стили отступа (вкладки или пробелы)?

Я работаю над большой базой кода, где каждый файл имеет разные соглашения об отступлении: вкладки, 4 пробела, 3 пробела и т.д.

В настоящее время я по умолчанию на вкладках и делаю set shiftwidth=N expandtab smarttab, когда я сталкиваюсь с файлом с пространственно-отступом, но это раздражает.

Есть ли какая-либо функциональность в Vim или плагин, который может распознать, например, что текущий буфер использует отступ с тремя пробелами в смену?

4b9b3361

Ответ 1

Существуют различные плагины, которые пытаются справиться с этой ситуацией. Вот несколько, которые я нашел путем поиска detect indent на vim.org

Ответ 2

Хороший вопрос, я тоже сталкиваюсь с той же проблемой, и недавно я написал для себя такой vim-плагин: https://github.com/luochen1990/indent-detector.vim

он имеет следующие функции:

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

Я думаю, что это хорошо спроектировано и должно быть известно, опубликуйте вопрос о github, если у вас есть какие-либо предложения:)