Вопрос: Отключите vim `indtyt filetype` для определенного типа файла


В моем .vimrc у меня есть

filetype indent on

Теперь, как он пытается автоматически отступать yaml файлы очень запутывают меня, поэтому я хочу filetype indent , но только для yaml файлы, а не для других файлов.

Как мне это сказать в моем .vimrc?


2
2018-01-16 10:13


Источник




Ответы:


Это должно сделать трюк

echo 'let b:did_indent = 1' > ~/.vim/indent/yaml.vim

источник


3
2018-01-16 11:15



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


Ответ @ maiki дает правильное решение; если вам нужно сохранить это в ~/.vimrc, следующее эквивалентно:

autocmd FileType yaml let b:did_indent = 1

Если это не сработает, вы также можете попытаться очистить метод отступа:

autocmd FileType yaml setlocal indentexpr=

Я бы по-прежнему предлагал вам изучить изменение настроек, чтобы больше, чем ваш .vimrc могут быть легко синхронизированы. Учтите, что вы можете использовать плагины или другие конфигурации (например, ~/.gitconfig) в будущем. Существует множество подходов к синхронизации пользовательской конфигурации между системами; многие пользователи имеют их в центральном (Git) репозитории и используют символические ссылки для установки.


3
2018-01-16 13:43



Это не сработало для меня; Однако, setlocal indentexpr= вместо let b:did_indent = 1 работал. - Antonis Christofides
Вы набирали это или фактически вводили .vimrc? Важно, чтобы этот autocmd был определен первым. Ну, так или иначе, вы нашли решение! Я добавил это к моему ответу. - Ingo Karkat