假设我在F90模式下编写一些(自由格式)Fortran代码,如何在键入时获得正确的自动延续行,以及如何在使用fill-paragraph
时正确连续行?
代码示例:
subroutine procedure_with_many_arguments(argument1, argument2, argument3, argument4, argument5, argument6, argument7)
real :: argument1, argument2, argument3, argument4, argument5, argument6, argument7
end subroutine
1。使用auto-fill-mode
键入此代码时,我会在两个行上获得延续字符&
,还会出现一些奇怪的固定格式缩进(省略第二个和这里的第三个陈述):
subroutine procedure_with_many_arguments(argument1, argument2, argument3,&
& argument4, argument5, argument6, argument7)
2。在现有的,过宽的代码上使用fill-paragraph
时,我既不任何续行字符&
,也不任何缩进:< / p>
subroutine procedure_with_many_arguments(argument1, argument2, argument3,
argument4, argument5, argument6, argument7)
real :: argument1, argument2, argument3, argument4, argument5, argument6,
argument7
end subroutine
预期结果:
subroutine procedure_with_many_arguments(argument1, argument2, &
argument4, argument5, argument6, argument7)
real :: argument1, argument2, argument3, argument4, argument5, &
argument6, argument7)
end subroutine
答案 0 :(得分:1)
在这里回答我的问题:
<强> 1。要摆脱领先的&符号,请将以下行添加到.emacs
文件中:
(setq f90-mode-hook
'(lambda () (setq f90-beginning-ampersand nil)))
<强> 2。要打破现有代码的过多行,请使用f90-fill-region
代替fill-paragraph
。
请注意,f90-fill-region
命令在注释行(版本24.5.1和25.3.1已测试)上使用时会崩溃Emacs,而fill-paragraph
命令对它们不执行任何操作。似乎没有适合代码和注释行的填充命令。
更新:自由格式Fortran主要模式f90.el
的维护者只是将update推送到添加了函数f90-fill-paragraph
的GitHub。此命令适用于注释行和代码。