Перейти к содержимому

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

3

По моему .vimrcу меня

filetype indent on 

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

Как мне так сказать по моему .vimrc?

1 945 просмотров
Antonis Christofides спросил 11 лет назад
A 283

2 ответа

4

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

autocmd FileType yaml let b:did_indent = 1 

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

autocmd FileType yaml setlocal indentexpr= 

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

Это не сработало для меня; однако setlocal indentexpr = вместо let b: did_indent = 1 сработало.

Antonis Christofides · 11 лет назад · 1

Вы набрали это или на самом деле вставили .vimrc? Важно, чтобы этот autocmd был определен первым. Ну, в любом случае, вы нашли решение! Я добавил это к своему ответу.

Ingo Karkat · 11 лет назад · 0

То же самое здесь, помещение let b: did_indent = 1 в ~ / .vimrc не работает. Я пытался поставить его до и после intype on intype плагина ', но ничего не получалось. Однако autocmd FileType yaml setlocal indentexpr =сработал. Он должен быть добавлен после отступаfiletype plugin on`.

wisbucky · 7 лет назад · 0
Ingo Karkat ответил 11 лет назад
I 17 213
3

Это должно сделать свое дело

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

источник

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

Antonis Christofides · 11 лет назад · 0
maiki ответил 11 лет назад
M 381