在Emacs中缩进模板参数

时间:2009-06-03 17:30:39

标签: emacs cc-mode

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

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

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

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

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

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

1 个答案:

答案 0 :(得分:3)

应该只需要将template-args-cont设置为某个有用的值。要试验它,请将光标放在第二行,然后为C-cC-o输入c-set-offset。插入一个方便的值。有了4,我得到:

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

如果这不起作用,请检查您的版本:我有cc-mode版本5.31.6。要查看,请执行M-x c-version。我得到了

Using CC Mode version 5.31.6