问题描述
|
我不确定如何告诉Emacs缩进类似于以下内容的代码,如下所示:(选项卡宽度为2)
gotoxy(1,2); cout << \"one\";
gotoxy(3,4); cout << \"this is \"
\"split over two lines\";
gotoxy(5,6); cout << \"three\";
\'statement-cont \'变量设置为\'+ \',表明我想要一个缩进,但最终得到这样的结果:
gotoxy(1,4); cout << \"this is \"
\"split over two lines\";
gotoxy(5,6); cout << \"three\";
它从语句的开头而不是行的开头执行单个缩进。
我如何告诉Emacs从上一行的开头而不是该语句开始的任何列开始缩进?
解决方法
无论如何,这可能不是您要寻找的答案...无论如何,由于
gotoxy
函数显然正在对ѭ3doing做某些事情,为什么不将其包装到manip函数中并将其包含在流中,那样您将1 )每行一个语句,可以适当缩进; 2)可以有更长的行,因为您不必在每个gotoxy
处停下来,并且3)它使您能够在任何流上应用gotoxy
。
例如:
cout << gotoxy(1,2) << \"one\";
cout << gotoxy(3,4) << \"this is \"
\"split over two lines\";
cout << gotoxy(5,6) << \"three\";
或者,甚至更简单:
cout << gotoxy(1,2) << \"one\"
<< gotoxy(3,4) << \"this is \"
\"split over two lines\"
<< gotoxy(5,6) << \"three\";
顺便提一下,这两个部分都在Emacs中缩进了。
例如,您可以在此处阅读有关流操作功能的更多信息:http://www.devarticles.com/c/a/Cplusplus/Custom-Stream-Manipulation-in-C/2/