在vim中管理多个makefile
我想在Vim中有效地管理不同的项目。当需要重建时,我在不同的位置有几个makefile。在Vim中,如果我使用在vim中管理多个makefile,vim,makefile,Vim,Makefile,我想在Vim中有效地管理不同的项目。当需要重建时,我在不同的位置有几个makefile。在Vim中,如果我使用:make,它将尝试在我的当前位置编译Makefile 我可以使用or:make-f URL-MAKEFILE,但这太麻烦了。有没有一种方法或插件可以高效地构建所有这些单独的makefile,而无需我记住所有makefile url?我不知道是否有这样的插件,但你可以为你的url创建一种快捷方式。 创建主makefile并添加以下目标: .PHONY : shortcut m
:make
,它将尝试在我的当前位置编译Makefile
我可以使用or
:make-f URL-MAKEFILE
,但这太麻烦了。有没有一种方法或插件可以高效地构建所有这些单独的makefile,而无需我记住所有makefile url?我不知道是否有这样的插件,但你可以为你的url创建一种快捷方式。
创建主makefile并添加以下目标:
.PHONY : shortcut
make -f URL target
之后,您可以直接调用
:创建快捷方式不知道是否有这样的插件,但您可以为URL创建一种快捷方式。
创建主makefile并添加以下目标:
.PHONY : shortcut
make -f URL target
之后,您可以调用:make shortcut
我正在维护多个项目,每个项目都有自己的makefile和众多脚本中的一个
实际上,我还在用我的插件封装&makeprg
选项的更新(更喜欢Vim插件管理器来安装它)。它更进一步,使我能够选择编译目录和其他选项(这在使用CMake生成makefile时非常有用)。请参阅两个*.vim文件。我正在维护多个项目,每个项目都有自己的makefile和众多脚本中的一个
实际上,我还在用我的插件封装&makeprg
选项的更新(更喜欢Vim插件管理器来安装它)。它更进一步,使我能够选择编译目录和其他选项(这在使用CMake生成makefile时非常有用)。查看两个*.vim文件。您可以指示vim在目录结构中向上查找一个“Makefile”文件,然后调用:makewithit
:exec ":make -f " . findfile("Makefile", ".;")
这样,它将调用与当前打开的缓冲区的项目树相关的Makefile
但是,我建议不要过多地使用make-f path_to_makefile,因为它会在您所在的目录中启动make命令。通常,Makefiles被编写为在项目树的顶部使用(然后最终在子目录中调用更多Makefile),因此更自然地调用“make-C路径到树的顶部”
要向上查找包含Makefile的第一个目录,请使用它调用:make-C:
:exec ":make -C " . fnamemodify(findfile("Makefile", ".;"), ":h")
您可以指示vim在目录结构中向上查找一个“Makefile”文件,然后调用:makewithit
:exec ":make -f " . findfile("Makefile", ".;")
这样,它将调用与当前打开的缓冲区的项目树相关的Makefile
但是,我建议不要过多地使用make-f path_to_makefile,因为它会在您所在的目录中启动make命令。通常,Makefiles被编写为在项目树的顶部使用(然后最终在子目录中调用更多Makefile),因此更自然地调用“make-C路径到树的顶部”
要向上查找包含Makefile的第一个目录,请使用它调用:make-C:
:exec ":make -C " . fnamemodify(findfile("Makefile", ".;"), ":h")
这是我喜欢的方式!很容易记住。谢谢p、 如果我想做一个'干净'我需要有一个专门的命令为每个项目。你也可以这样做吗?你可以为每个目标调用多个命令,即:false:clean;使-f prj1u makefile干净;使-f prj2_makefile干净;P.S.考虑“,”作为新的简单而美好的一个,非常感谢。这就是我喜欢的方式!很容易记住。谢谢p、 如果我想做一个'干净'我需要有一个专门的命令为每个项目。你也可以这样做吗?你可以为每个目标调用多个命令,即:false:clean;使-f prj1u makefile干净;使-f prj2_makefile干净;P.S.考虑“,”作为新的简单而美好的一个,非常感谢。