使用Vim构建Makefile找到打开文件的相同文件夹

时间:2014-04-25 09:14:00

标签: vim build makefile

通常当我调用:make时,vim会构建Makefile,它会在我打开会话的文件夹中找到。这并不意味着我有兴趣构建特定的makefile。

假设我有2个打开的文件/标签,这些文件位于2个单独的文件夹中。这些文件夹都不是我开始会话的文件夹;这两个文件夹中的每一个都有一个Makefile。

有没有办法告诉vim在我现在看的标签的同一个文件夹中找到它找到的Makefile?基本上我切换到一个标签,:make编译该文件夹中找到的Makefile

这样做的原因是我映射 CTRL-B 来构建makefile并且这很方便,但是当我有不同的开放项目时,每个都依赖于彼此不再起作用,因为我必须构建每个单独的项目。我想避免使用2个单独的vim实例。

1 个答案:

答案 0 :(得分:3)

您可以在每个选项卡中使用:lcd命令来更改工作目录。如果只要选项卡页面包含单个窗口就执行此操作,则任何将来的拆分缓冲区都将继承(窗口本地)设置,并且您实际上具有选项卡本地工作目录。

或者,:set autochdir将始终将工作目录切换到当前缓冲区。只要您有平面项目(Makefile与您正在编辑的源位于同一目录中),这也是一个解决方案。