Ответ 1
Существуют различные плагины, которые пытаются справиться с этой ситуацией. Вот несколько, которые я нашел путем поиска detect indent
на vim.org
Я работаю над большой базой кода, где каждый файл имеет разные соглашения об отступлении: вкладки, 4 пробела, 3 пробела и т.д.
В настоящее время я по умолчанию на вкладках и делаю set shiftwidth=N expandtab smarttab
, когда я сталкиваюсь с файлом с пространственно-отступом, но это раздражает.
Есть ли какая-либо функциональность в Vim или плагин, который может распознать, например, что текущий буфер использует отступ с тремя пробелами в смену?
Существуют различные плагины, которые пытаются справиться с этой ситуацией. Вот несколько, которые я нашел путем поиска detect indent
на vim.org
Хороший вопрос, я тоже сталкиваюсь с той же проблемой, и недавно я написал для себя такой vim-плагин: https://github.com/luochen1990/indent-detector.vim
он имеет следующие функции:
- обнаружение смешанного отступа и предупреждения эха на bufEnter и bufWrite автоматически.
- настройка переключателя об отступе, чтобы автоматически соответствовать текущему стилю отступов.
- время обнаружения ограничено, поэтому вы не нужно беспокоиться об открытии огромных файлов.
Я думаю, что это хорошо спроектировано и должно быть известно, опубликуйте вопрос о github, если у вас есть какие-либо предложения:)