【问题标题】:Prevent clang-format from removing emacs's formfeed character防止 clang-format 删除 emacs 的换页符
【发布时间】:2020-10-29 17:48:47
【问题描述】:

我使用clang-format 来格式化我的源代码。它真的很方便,但是,我在使用 Emacs 时遇到了一个问题。我将我的文件分成pages 以保持它们的狭窄,特别是在处理大型头文件时,这变得非常方便。

问题是,为了指定一个页面,你需要插入一个特殊字符014^L,但是clang-format 在我格式化的所有时候都会删除这个字符。有没有办法改变这种行为?

【问题讨论】:

    标签: emacs clang-format


    【解决方案1】:

    起初我认为这是不可能的。但是,您可以通过将^L 括在引号内来实现。例如:

    #include <stdio.h>
    int main()
    {
        int i;
        function_call_on_first_page();
        // "^L" <-- use an actual control-L character inside those quotes
        function_call_on_next_page();
        return 0;
    }
    

    它很丑,但它可能会解决你的问题。我用 clang-format 6.0 版对此进行了测试。单引号或双引号似乎都可以工作。

    或者,您可以尝试将代码分成“区域”,并使用Equivalent of #region for C++ 中描述的方法之一。不幸的是,这些方法都不是非常便携。

    【讨论】:

    • 啊,看起来emacs只有在单独一行时才使用^L。抱歉,我没有看到任何解决方案。
    • 是的,就是这样,我看看我是否可以做一些 elisp hacking 来让它工作.. 仍然感谢您的帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-06
    • 2021-06-09
    • 1970-01-01
    • 1970-01-01
    • 2016-01-03
    相关资源
    最近更新 更多