在Emacs中缩进模板参数

在Emacs中缩进模板参数,emacs,cc-mode,Emacs,Cc Mode,我没有运气让Emacs(cc模式)缩进多行模板参数。下面是一行示例: typedef ::boost::zip_iterator< ::boost::tuple< vector<int>::const_iterator, vector<float>::const_iterator > >; typedef::boost::zip_迭代器>; 我希望第二行缩进,就像在函数中一样。它是缩进的,直到我输入倒数第二个,此时第二行向上移动到左侧以与typ

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

typedef ::boost::zip_iterator< ::boost::tuple<
vector<int>::const_iterator, vector<float>::const_iterator > >;
typedef::boost::zip_迭代器<::boost::tuple<
向量::常量迭代器,向量::常量迭代器>>;
我希望第二行缩进,就像在函数中一样。它是缩进的,直到我输入倒数第二个
,此时第二行向上移动到左侧以与typedef对齐

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

我希望有模板args cont作为语法分析

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

您只需将
模板参数cont
设置为一些有用的值。要进行试验,请将光标放在第二行,然后为
C-set-offset
输入
C-cC-o
。插入一个方便的值。使用4,我得到:

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

C-cC-o
允许我更改语法符号的偏移量,对于模板args cont,我已经在.emacs中将其设置为+,这是默认的
C-cC-o
提供的设置。将其设置为数字没有任何区别。据我所知,cc模式并不认为这行有模板args cont语法。(我使用的是cc模式版本5.31.5。)好吧,显而易见的事情是升级到5.31.6,或者至少看一下更改日志。在任何情况下,上面的例子都是从emacs会话中剪切和粘贴的,我在那里做了C-C-o 4,并用TAB重新插入;得到了与缩进区域相同的结果。如果这不起作用,那么您可能在.emacs的其他地方做了一些艺术性的事情;试着用--no init文件启动emacs,看看会发生什么。不过我认为5.31.6只与emacs 23捆绑在一起。在cc模式网站上无法下载。模板args cont符号是5.15引入的,因此这不是一个新功能。我确实试过使用emacs——没有init文件,这并没有改变缩进。那么,你会遇到一个问题,它对我有效,对你无效。我正在seijiz.local上运行2009-01-02的“GNU Emacs 22.3.1(i386-apple-darwin9.6.0,Carbon版本1.6.0)”更改值后,您将使用制表符或缩进区域重新标识行,对吗?当然,在你改变之前,它不会改变缩进。我担心是这样复杂的事情。我想我只需要让emacs识别模板args cont的语法,但我不知道如何识别。谢谢你的帮助。
Using CC Mode version 5.31.6