Indent preprocessor directives as C code in emacs

前端 未结 1 1120
既然无缘
既然无缘 2021-01-13 16:00

Emacs, by default, does not indent pre-processor code. I know it has historical roots that are obsolete by now.

However, having a code with a lot of #ifdef unindente

相关标签:
1条回答
  • 2021-01-13 16:33

    You can simply tell Emacs to add an offset to the pre-processor lines.

    • Put the cursor (point) in a pre-processor line
    • then press C-c C-o (control-c control-o)
    • the minibuffer should say Syntactic symbol to change:,
    • type cpp-macro, press Enter
    • Enter the new offset (number - usually 0)

    Then a TAB on each pre-processor line should indent it correctly. (or M-xindent-region ...).

    To have the change set permanently, you can for instance add the required lines in your .emacs file.
    An easy way to copy a previously entered command is c-x ESC ESC and use the arrow keys to find the (c-set-offset ...) Elisp command.

    That should be

    (c-set-offset (quote cpp-macro) 0 nil)
    
    0 讨论(0)
提交回复
热议问题