当前位置:  开发笔记 > 开发工具 > 正文

Emacs ESS模式 - 评论区域的标签

如何解决《EmacsESS模式-评论区域的标签》经验,为你挑选了2个好方法。

我正在为Emacs使用Emacs-Speaks-Statistics(ESS)模式.编辑R代码时,任何注释行(以#开头的那些注释行)会在我上面创建一个新行时自动获得最右边的选项卡.我应该如何更改我的.emacs.el文件来修复此问题?

例如,我有:

# Comment

现在,在将光标放在行的开头并按Enter后,我得到:

                                # Comment

谢谢你的任何提示.



1> huaiyuan..:

如果您不希望缩进注释,请使用"###".根据手册,

默认情况下,以"###"开头的注释将与行的开头对齐.以"##"开头的注释与包含注释的块的当前缩进级别对齐.最后,以'#'开头的注释与右侧的列对齐(默认情况下为第40列,但此值由变量comment-column控制),或者只是在包含注释的行上的表达式之后,如果它扩展超出缩进列.


如果你不使用Emacs,这个约定可能看起来很奇怪.但是,这个约定来自lisp和emacs-lisp,其中分号的数量表示注释的类型,因此它应该如何缩进.
在问这个完全相同的问题之前,我很高兴看了.我标记了这个答案,因为我认为它确实比上面的答案更好.我一直认为这是ESS模式的错误/问题,但在调整语法之后,我的问题全部消失了.

2> Jouni K. Sep..:

(setq ess-fancy-comments nil)

如果你从不想缩进单#评,或者

(add-hook 'ess-mode-hook 
          (lambda () 
            (local-set-key (kbd "RET") 'newline)))

如果你想改变Enter的行为,那么它不会缩进.


相反,我认为你应该使用"#"作为行尾注释,并且这些很有意义地缩进到同一列 - >漂亮的代码"listing".对于其他注释,确实习惯使用"##"(远远超过"###"):这些缩进作为该代码块中的其他"语句"
我仍然赞成决定我应该使用多少#s.一个通常是足够的,所以这个答案非常感谢,因为我的评论没有移动到我不希望它的位置......
推荐阅读
mobiledu2402851323
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有