如何在Emacs中强制执行最大行长度?

Fra*_*ank 23 lisp emacs code-formatting

在Emacs中,如何强制执行最大行长度,例如80个字符?我希望它在我的代码中插入正确的换行符,就像fill-paragraph文本一样,如果可能的话,正确插入行的第二部分.

这里有一个小例子:

LongNameType<PrettyLong, AlsoLong> doSomethingWithLongFunctionName(int a, int b);
foo();
Run Code Online (Sandbox Code Playgroud)

如果我真的这样做fill-paragraph成为:

LongNameType<PrettyLong, AlsoLong>
doSomethingWithLongFunctionName(int a, int b); foo();
Run Code Online (Sandbox Code Playgroud)

而我更喜欢这个:

LongNameType<PrettyLong, AlsoLong>
  doSomethingWithLongFunctionName(int a, int b);
foo();
Run Code Online (Sandbox Code Playgroud)

小智 5

fill-paragraph和auto-fill-mode故意不包装代码.有太多的方法可以做到这一点,它可能会弄错.他们会发表评论,但这对你没有帮助.

我做过的唯一方法是明确地将文本放在我想要的地方.然后自动缩进应该将虚线放在正确的位置.

您是否正在尝试重排大量现有代码?或者尝试对您正在编写的代码进行自动填充工作?


Tre*_*son 5

许多软件包会警告您线路长度限制.就个人而言,我使用宽列,它根据当前列更改光标颜色.


Sto*_*bor 2

不是真正的 emacser,但是如果在c++ 模式下打开自动填充模式会发生什么?

C++ 模式应该为您提供自动缩进,自动填充模式为您提供换行......