当当前目录中存在 pom.xml 时,将键映射到命令?

发布于 2024-12-11 01:09:29 字数 265 浏览 0 评论 0原文

仅当当前目录中存在 pom.xml 时,才可以在 vim 中映射键吗?我知道打开某种文件类型时可以映射键,但我不知道如何根据文件的存在来映射键。

我想向 vim 添加一些键绑定以帮助开发 Maven 项目。例如,当我想浏览依赖项的来源时:

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

is it possible to map keys in vim only when a pom.xml is present in the current directory? I know it is possible to map keys when a certain file type is open, but I can't figure out how to map keys based on the presence of a file.

I could like to add some keybindings to vim to aid in development of maven projects. For example, when I want to browse the sources of dependencies:

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

我很OK 2024-12-18 01:09:29

将这样的内容放入你的 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

Put something like this into your 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
紧拥背影 2024-12-18 01:09:29

这里有一些 autocommand 的示例
你可以在那里获得灵感。即:

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

here you have some examples with autocommand
You can get inspiration there. i.e. from this:

:  autocmd FileAppendPre        *.gz !mv <afile>:r <afile>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文