Шаблон autocmd для соответствия имени файла и части пути

Я пытаюсь сделать автоматический запуск cmd, открыв новый файл с путем, включая test/ и с именем файла, оканчивающимся на Test.java, Чтение в :h autocmd-patterns Я не могу понять, можно ли использовать только ограниченные шаблоны в качестве шаблонов файлов в auto-cmd, или я просто делаю что-то не так с моим шаблоном. Следующее работает для сопоставления любого файла, оканчивающегося на .java

autocmd! BufNewFile *.java
 \ "command implemented !

Теперь я пытаюсь сопоставить новые файлы с путем, содержащим /test/ и с именем файла, оканчивающимся на Test.java через следующее и его производные

autocmd! BufNewFile */test/*Test.java
 \ "command implemented !

Как мне запустить autocmd для всех файлов, имеющих часть их пути test/ папка и имя файла, оканчивающееся на Test.java, Например, это должно быть запущено при выполнении

$ vim code/algos/graphs/test/KruskalTest.java

2 ответа

augroup MyJavaAUGroup
  au! BufRead,BufNewFile,BufEnter *.java,*Test.java,*/test/* <<YOURCOMMANDHERE>>
augroup END

Попробуйте использовать **/test/*Test.java шаблон вместо. Также убедитесь, что вы выбрали правильное событие автокоманды: для BufNewFile Для запуска необходимо, чтобы файл не существовал.

Другие вопросы по тегам