Сопоставьте ключи командам, когда pom.xml присутствует ли в текущем каталоге?

#maven #vim

#maven #vim

Вопрос:

возможно ли сопоставлять ключи в vim только тогда, когда pom.xml присутствует ли в текущем каталоге? Я знаю, что можно сопоставить ключи, когда открыт определенный тип файла, но я не могу понять, как сопоставить ключи на основе наличия файла.

Я мог бы добавить некоторые привязки клавиш к vim, чтобы помочь в разработке проектов maven. Например, когда я хочу просмотреть источники зависимостей:

 mvn dependency:unpack-dependencies
  -Dclassifier=sources
  -Dmdep.failOnMissingClassifierArtifact=false
 

Ответ №1:

Поместите что-то подобное в свой vimrc:

 function! IfPomXmlExists()
  if file_readable("pom.xml")
    " define your commands here..
    map <buffer> <C-F9> :echo "hello pom!"<CR>
  endif
endfunction

augroup pomxml
  au!
  autocmd BufReadPre * call IfPomXmlExists()
augroup END
 

Ответ №2:

здесь у вас есть несколько примеров с автоматической командой, которые вы можете получить там вдохновение. т. е. из этого:

 :  autocmd FileAppendPre        *.gz !mv <afile>:r <afile>