Я пытаюсь выяснить, как я могу определить autocmd, который влияет на все файлы под определенным путем.
autocmd, который я попробовал, является чем-то как
autocmd BufNewFile,BufRead /specificPath/** imap <buffer> ....
Теперь, я ожидал бы, что этот autocmd будет использоваться, если бы я отредактировал, скажем, /foo/bar/specificPath/baz/something/bla.txt, но не, если я отредактировал /foo/bar/here/and/there/moreBla.txt
Если я запускаю энергию, находящуюся в каталоге 'выше' specificPath, это работает, поскольку я хочу это. Но это не делает, если я ниже того каталога. Очевидно, шаблон autocmd подобран против имени файла прямого доступа, не абсолютного.
Итак, я сделал это в своем коде с путями по определенному пути. Вам нужно сделать:
autocmd BufRead,BufNewFile */somepath/* set filetype=sometype
По крайней мере, это то, что я использовал, чтобы установить данный тип файла для вещей в определенном пути к библиотеке. Надеюсь, это поможет в вашем примере.
Если вы хотите включить все подкаталоги, используйте **
:
autocmd BufRead,BufNewFile */somepath/** set filetype=sometype
Это ответит на все ваши вопросы. :)
:h autocmd-patterns