4

我没有运气让 Emacs(cc 模式)缩进多行模板参数。这是一个示例行:

typedef ::boost::zip_iterator< ::boost::tuple<
vector<int>::const_iterator, vector<float>::const_iterator > >;

我希望第二行缩进,就像在函数中一样。它是缩进的,直到我输入 second-to-last >,此时第二行向左移动以与 typedef 对齐。

当我开始输入第二行时,句法分析是((statement-cont 52)),直到倒数第二行,>此时它变成((defun-block-intro 46)). 删除字符不会返回到旧的句法分析。

我希望将 template-args-cont 作为句法分析。

我正在使用它附带的 emacs 22.2 (ubuntu intrepid) 和 cc-mode 版本 5.31.5。

4

1 回答 1

3

You should just need to set template-args-cont to some useful value. To experiment with it, put your cursor on the second line and enter C-cC-o for c-set-offset. Insert a convenient value. With 4, I get:

typedef ::boost::zip_iterator< ::boost::tuple<
    vector<int>::const_iterator, vector<float>::const_iterator > >; 

If that doesn't work, check your version: I have cc-mode version 5.31.6. To check, do M-x c-version. I get

Using CC Mode version 5.31.6
于 2009-06-03T18:35:19.920 回答