代码之家  ›  专栏  ›  技术社区  ›  Konrad Rudolph

通过Vim中的modeline设置makeprg

  •  2
  • Konrad Rudolph  · 技术社区  · 14 年前

    默认情况下, makeprg 设置为 make . 但是,我有很多项目,其中不同的构建配置和目标位于同一目录中。

    这当然需要我在调用时指定一个目标 制作 .

    例如,我有一个项目是建立一个源文件 <foo>.cpp 通过调用 make foo

    当我说的时候我怎么能做到呢 <foo>。cpp公司 在Vim中, makeprg公司 设置为 make <foo> ? 我在每个文件中都考虑了modelines,但是 makeprg公司 禁止通过modeline(出于安全考虑?)。

    一般的 的价值 制作 否则我就

    set makeprg=make\ expand("%:t:r")
    

    (或类似的)在我的 .gvimrc .

    3 回复  |  直到 14 年前
        1
  •  4
  •   Luc Hermitte    14 年前

    我用的是 plugin .vimrc 不会被项目特定的东西弄得乱七八糟。相反,在每个项目根目录中我都有一个 _vimrc_local.vim 包含我的各种设置的文件。

    :make 调用另一个命令或映射 使用一个可以用另一个插件设置的变量: let-modeline .

    附言:是的 .gvimrc 意味着包含特定于vim图形版本的内容。把你的设置放到 ,将不配置普通vim。

        2
  •  1
  •   Hasturkun    14 年前

    :make %< 我相信它会满足你的要求

        3
  •  0
  •   Jörn Horstmann    14 年前

    :help autocmd-patterns 以及您的示例代码。

    :autocmd BufRead /source/foo-project/*.cpp set makeprg=make\ expand("%:t:r")
    

    (请注意,我还没有测试这个确切的命令,相反,我有一些设置makeprg的自动命令,具体取决于vimrc中的文件类型)