Яка різниця між "відступом плагію для філейтипа" та "відступом файлевого типу"?


38

Я бачу один із цих двох рядків у .vimrcфайлах. Цей, здається, найпоширеніший:

filetype plugin indent on

Але чим він відрізняється від цього рядка:

filetype indent on

Я знайшов документацію на останнє , але все ще плутаю.


2
бічна підказка: ви можете зробити, :filetypeщоб показати налаштування файлового типу.
вісбукі

Відповіді:


46

filetype plugin indent on це як комбінація цих команд:

filetype on
filetype plugin on
filetype indent on

Увімкнено "виявлення", "плагін" і "відступ" відразу. Ви можете перевірити себе, прочитавши :help :filetype-overview.

Виявлення

Що робить "виявлення" файлів? З документів:

Кожен раз, коли новий або існуючий файл редагується, Vim намагатиметься розпізнати тип файлу та встановить опцію 'тип файлу'. Це призведе до події FileType, за допомогою якої можна встановити підсвічування синтаксису, встановити параметри тощо.

Це менш заплутано, якщо ви розумієте, що filetypeкоманда відрізняється від filetypeопції. (Команда :filetype..., опція: :set filetype...)

Підключати

Що робить "плагін" частина? З документів:

Це фактично завантажує файл "ftplugin.vim" у "runtimepath".

Результат полягає в тому, що при редагуванні файлу завантажується його плагін (якщо для виявленого типу файлів є такий).

Файл, що завантажується, не обов'язково називати ftplugin.vim, наприклад, це може бути ftplugin/html_example.vim.

Відступ

Що робить "відступ" частини? З документів:

Це фактично завантажує файл "indent.vim" у "runtimepath".

Результат полягає в тому, що коли файл редагується, його файл з відступом завантажується (якщо є такий для виявленого файлу). відступ-вираз

Знову ж, файл не може бути названий indent.vim, він може бути названий, indent/html_example.vimнаприклад.


1
щоб зрозуміти, ім'я файлу повинно відповідати "файлеві файли", для яких буде активовано, наприклад, або <type>/foobar.vim(підкаталог на тип файлу), <type>_foobar.vimабо просто <type>.vimтам, де <тип> відповідає фактичному
файлетипу
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.