我不知道如何告诉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, 2); cout << "one";
gotoxy(3, 4); cout << "this is "
"split over two lines";
gotoxy(5, 6); cout << "three";
它从语句的开头而不是行的开头执行单个缩进。
如何告诉Emacs从上一行的开头开始缩进而不是语句从哪个列开始?
答案 0 :(得分:1)
这可能不是您正在寻找的答案......无论如何,因为gotoxy
函数显然正在对cout
执行某些操作,为什么不将它包装到操作中功能并将其包含在流中,这样你就可以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/