我没有运气让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。
答案 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