установить отступ vim python на основе файла - PullRequest
0 голосов
/ 13 сентября 2018

Я знаю, что можно установить отступ для определенного типа файла с помощью

set softtabstop=4

Но проблема, с которой я сталкиваюсь, заключается в том, что у меня есть разные файлы сценариев Python, некоторые из них имеют отступ с двумя пробелами,в то время как некоторые из них имеют отступ с 4 пробелами.Можно ли позволить vim автоматически определять отступы (2 или 4) для отступа на основе открытого файла?

Любая помощь приветствуется.

Ответы [ 2 ]

0 голосов
/ 14 сентября 2018

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

  • Мой собственный Плагин IndentConsistencyCop ;пусковой модуль IndentConsistencyCopAutoCmds .
  • позволяет запускать автоматический запуск Indent Finder ( vimscript # 513 ) - скрипт Python и плагин Vim, который сканирует любой загруженный буфер и конфигурируетсоответствующие настройки отступа
  • yaifa.vim ( vimscript # 3096 ) - это порт для vimscript вышеупомянутого
  • deteindent.vim (https://github.com/ciaranm/detectindent) от Ciaran McCreesh)пытается автоматически определить настройки отступа
  • GuessIndent ( vimscript # 4251 ) основан на detectindent.vim
  • indentdetect.vim (https://github.com/ervandew/vimfiles/blob/master/vim/plugin/indentdetect.vim) от Eric)Van Dewoestine выполняет простое обнаружение и может устанавливать значения по умолчанию, основываясь на файле spec
  • matchindent.vim ( vimscript # 4066 ), обнаруживает вкладки, отступы в 2 и 4 пробела и соответственно изменяет настройки отступа
  • sleuth.vim ( vimscript # 4375 ) от Tim Pope автоматически эвристически корректирует «shiftwidth» и «tabstop» (с помощью упрощенной выборки, которая не проверяет наличие ошибок).r несовместимые отступы) или при просмотре других файлов того же типа
  • filestyle ( vimscript # 5065 ) подсвечивает вкладки, когда установлен параметр «expandtab», конечные пробелы и строки длиннее «textwidth»', но на самом деле не проверяет соответствие отступу
  • ShowSpaces ( vimscript # 5148 ) выделяет пробелы внутри отступа для каждого буфера / типа файла.
  • Indent Detector ( vimscript # 5195 ) запускается, когда файл открывается или записывается, имеет предупреждения о смешанном отступе табуляции / пробела и может автоматически адаптировать соответствующие параметры Vim.
0 голосов
/ 13 сентября 2018

Похоже, этот плагин vim будет делать то, что вы хотите: https://github.com/requalix/detect-indentation.

...