Может ли vim автоматически распознавать стили отступов (табуляции и пробелов)? - PullRequest
21 голосов
/ 08 марта 2012

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

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

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

Ответы [ 2 ]

19 голосов
/ 08 марта 2012

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

2 голосов
/ 05 июня 2015

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

имеет следующие особенности:

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

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

...