Как я могу узнать, почему vim меняет настройку expandtab

Я использую vim. В частности, я использую Janus. У меня есть expandtab set. Однако во время использования vim по какой-то причине моя настройка expandtab устанавливается на noexpandtab, и мои файлы начинают получать жесткие вкладки. Я попытался набрать :verbose set expandtab?, но это ничего мне не показывает (в частности, это показывает, что noexpandtab установлен, но он не показывает файл, который отвечает за его настройку).

Итак, я хотел бы узнать:

  • Почему мой параметр expandtab может меняться
  • Как я могу отследить виновника и предотвратить его.

Спасибо

Ответ 1

Попробуйте это

:verb set expandtab?
:verb set et?
:verb set invexpandtab?

expandtab действительно может быть задан несколькими способами:/

Ответ 2

Я должен добавить, что в дополнение к приведенному выше, если вы пробовали следующее:

:verb set expandtab?
:verb set et?
:verb set invexpandtab?

И вы вернетесь без номера строки или файла:

noexpandtab

Более чем вероятно, что у вас есть следующее и нужно изменить порядок:

set expandtab

set binary
set noeol

Изменить на (обратите внимание на порядок)

set binary
set noeol

set expandtab

Причиной этого является set binary команда имеет несколько значений по умолчанию, которые она выполняет после запуска. Включая следующее:

'textwidth'  will be set to 0
'wrapmargin' will be set to 0
'modeline'   will be off
'expandtab'  will be off

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

Ответ 3

Настройки VIM могут быть установлены в файле конфигурации или в моделировании внутри редактируемого файла. Обратите внимание, что expandtab можно сократить в VIM до et, поэтому обязательно ищите это.

Возможные файлы конфигурации, которые я хотел бы найти:

  • /etc/vim/vimrc и другие файлы в этом каталоге (иногда vimrc.local и т.д.)
  • $HOME/.vimrc

Что касается моделей, это просто параметры конфигурации для VIM, которые находятся в виде комментариев в самом файле. Если это происходит только с некоторыми файлами, но не с другими, найдите комментарии, которые выглядят примерно так:

/* vim: set noet ai tw=75: */

И попробуйте удалить их и посмотреть, помогает ли это.