Emacs: set compilation command per-buffer

前端 未结 2 1986
遥遥无期
遥遥无期 2020-12-10 20:24

so, suppose I have a file file.c, and a file anothr.c. I would like to set the compilation command for each of those files separately, say: gcc -Wall -O3 -o f file.c

相关标签:
2条回答
  • 2020-12-10 20:57

    Yes, you can use the directive in the file, and also set other value. Try this in line one or two:

    // -*- compile-command: "gcc -Wall -O3 -o f file.c" -*-
    

    and then re-load the file with C-x v so that the setting takes effect.

    I sometimes set things like c-indent-level: 4; c-basic-offset: 4; in there too.

    0 讨论(0)
  • 2020-12-10 21:06

    What you're looking for are called file local variables, or sometimes just "local variables", per the in-comment declarative format described here.

    In addition to the syntax given in Dirk's answer, you can write a "local variables" block at the end of your file:

    /* Local Variables: */
    /* compile-command:"gcc -Wall -O3 -o f file.c" */
    /* End: */
    

    You can use the interactive function add-file-local-variable to help maintain this list if you don't want to type each entry manually.

    0 讨论(0)
提交回复
热议问题