gpt4 book ai didi

maven - 如何遍历目录结构并在 vimscript 中启动 mvn build?

转载 作者:行者123 更新时间:2023-12-04 06:29:25 34 4
gpt4 key购买 nike

我是一个新的 vim 用户,正在寻求有关脚本的一些帮助,该脚本允许我调用 mvn build。

目前我将其映射如下

map <F3> :! mvn build<CR>

但是因为这试图在我当前的工作目录中进行构建(目前是 java 开发,所以我通常在 src 下的一个包中)

我如何向上目录结构才能使这个 mvn build 命令正常工作?

先感谢您

最佳答案

vimscript 函数 finddir() 可用于查找 src目录。第二个参数( path )中使用的语法有一些 augmentations to basic path specification ,其中之一是能够使用 ; 指定向上搜索:

let src_dir = finddir('src', ';')

如果它在当前目录之上,这将找到 src 目录。

要在此目录中进行构建,您可以运行
exec '!cd' shellescape(src_dir) '&& mvn build'

我不认为这会在 Windows 下工作。在这种情况下,我认为您想使用 vim 的 cd 临时更改目录。命令,运行命令,然后使用 :cd - 改回来.

您可以将这些命令组合成一个函数
function! RunMavenInSrcDir()
let src_dir = finddir('src', ';')
exec 'cd' fnameescape(src_dir)
!mvn build
cd -
endfunction

运行这个函数会产生破坏 vim 以前的当前目录的副作用:换句话说,做 :cd -之后不一定会更改到与之前相同的目录。

您可以安排通过映射调用该函数
map <F3> :call RunMavenInSrcDir()<CR>

或通过命令
command! RunMavenInSrcDir call RunMavenInSrcDir()

关于maven - 如何遍历目录结构并在 vimscript 中启动 mvn build?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5625160/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com