2

В .vimrc есть строка set expandtab , но иногда это не работает. Проблема в том, что когда я tab клавишу табуляции, вставляется новая вкладка, и она не расширяется до пробела. Я вижу, что там есть вкладка с set list .

:scriptnames список сценариев показывает, что .vimrc был загружен, но иногда проблема все еще существует. и мне приходится каждый раз запускать set expandtab вручную.
1: ~/.vimrc

И есть другие подобные проблемы, кажется, что .vimrc на самом деле не загружен. Есть идеи в чем проблема?

UPDATE verb set expandtab? или другие подобные команды все возвращают noexpandtab
Last set from ~/.vimrc .
Лог наклеен здесь . Он включает в себя мой .vimrc, результат grep -rI и трассировку VIM -V9 .
Проблема расширения не возникает постоянно, я буду обновлять этот пост всякий раз, когда это произойдет в следующий раз. Другая проблема, которая всегда возникает, это то, что set autoindent не работает. verb set autoindent показывает, что он не установлен, смотрите трассировку вокруг последних строк. Но на самом деле он уже установлен в .vimrc , и мне приходится каждый раз устанавливать его вручную. Что похоже на проблему в expandtab .

1 ответ1

1

Когда вы видите это поведение, проверьте, установлен ли expandtab с помощью этой команды:

:set expandtab?

Если он не установлен, vim вернет noexpandtab, и это означает, что что-то изменило его после обработки .vimrc - плагин, файл, полученный из .vimrc, который создает условие гонки, с которой параметр применяется последним, и т.д.

Есть несколько различных способов установить его, поэтому вы должны проверить каждый из них. Следующая команда расскажет, какой последний набор expandtab:

:verb set expandtab?

Также проверьте et , псевдоним для расширения, например :verb set et? и invexpandtab , который включает / выключает expandtab :verb set invexpandtab?

Это должно показать вам, что параметр .vimrc перезаписывается.

Если вы обнаружите, что значение expandtab установлено соответствующим образом, а вкладки не преобразуются в пробелы, это совсем другая проблема - опубликуйте обновление своего вопроса, если это так.

Обновить:

Поскольку он говорит вам, что .vimrc устанавливает его последним, там должно быть что-то, что прямо или косвенно делает это. Лучше всего разместить ваш .vimrc на pastebin или аналогичном и разместить ссылку на него.

Вы также можете поместить 'set expandtab' в последнюю очередь в .vimrc, поскольку он обрабатывается последовательно.

Вы упомянули другие настройки, не совпадающие с установленными значениями vimrc - какие?

Я также просмотрел бы каталог .vim и его подкаталоги для расширения, но вы, вероятно, получите массу ложных срабатываний. Если вы сделаете это, grep -rI expandtab ~/.vim , это может привести нас обратно к тому месту , где в .vimrc его можно было получить.

Кроме того - попробуйте создать журнал отладки и просмотреть его на наличие предупреждений об ошибках и т.д., Особенно (обв.) Любого, который включает в себя «expandtab»

запуск vim с опцией -V [N] создаст довольно здоровенный журнал времени выполнения, здесь N - уровень отладки.

vim -V9myVimLog

создаст журнал уровня отладки 9 в текущем каталоге с именем файла "myvimlog"

Из другого вопроса

Лучше всего разместить свой .vimrc. Обязательно запутывайте любую личную информацию.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .