Ctrl + M用Sublime + Linux运行Makefile

Mar*_*oma 5 makefile sublimetext2

我正在考虑从Pluma(前gEdit)切换到Sublime Text.到目前为止我从Sublime Text看到的内容非常好.

我目前正在测试Submlime Text 2,并希望它make在我按下Ctrl+ 时当前打开的文档的文件夹中执行M.

那可能吗?我该怎么做?

当我当前点击Ctrl+ M它确实构建我当前查看的LaTeX文档,但它不使用我的Makefile.这很糟糕,因为它无法构建具有更复杂构建过程的主文档.

设置Tools > Build System > Make后运行make,但不是当前文档文件夹的Makefile.

我发现了这个,但它似乎专注于OS X.

Mar*_*oma 6

这个答案几乎就是我所需要的:

在Linux下make命中Ctrl+ 时,执行以下步骤以使Sublime Text 2(ST2)执行m(在我的情况下:Linux Mint,基于Debian的发行版):

  1. 获得make与之相伴的道路which make
  2. 转到ST2用户配置目录
    /home/[Your user name]/.config/sublime-text-2/Packages/User
  3. 插入一个Make (Linux).sublime-build使用下面内容调用的文件.
  4. Tools > Build System > Make (Linux)在ST2中选择

您可能会注意到ST2具有与您在shell中不同的PATH.请参阅Sublime Text 2:自定义PATH和PYTHONPATH.

Make(Linux).sublime-build

您可能需要path根据自己的需要进行调整.我只是简单地把echo $PATH这个字段放在这个字段中(这比下面的简单示例要多得多).

{
   "cmd": ["make"],
   "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
   "working_dir": "${project_path:${folder:${file_path}}}",
   "selector": "source.makefile",
   "path": "/usr/bin/:/usr/local/texlive/2013/bin/i386-linux",

    "variants":
    [
      {
        "name": "Clean",
        "cmd": ["make", "clean"]
      },
      {
        "name": "Test",
        "cmd": ["make", "test"]
      }
    ]
}
Run Code Online (Sandbox Code Playgroud)