Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Emacs ESS Mode - Tabbing for Comment Region

Tags:

emacs

r

ess

I am using the Emacs-Speaks-Statistics (ESS) mode for Emacs. When editing R code, any comment lines (those starting with #) automatically get tabbed to the far right when I create a new line above it. How should I change my .emacs.el file to fix this?

For example, I have:

# Comment 

Now, after putting my cursor at the beginning of the line and pressing Enter, I get:

                                # Comment 

Thanks for any hints.

like image 649
Christopher DuBois Avatar asked Apr 23 '09 08:04

Christopher DuBois


2 Answers

Use '###' if you don't want the comments indented. According to the manual,

By default, comments beginning with ‘###’ are aligned to the beginning of the line. Comments beginning with ‘##’ are aligned to the current level of indentation for the block containing the comment. Finally, comments beginning with ‘#’ are aligned to a column on the right (the 40th column by default, but this value is controlled by the variable comment-column,) or just after the expression on the line containing the comment if it extends beyond the indentation column.

like image 54
huaiyuan Avatar answered Sep 25 '22 22:09

huaiyuan


Either

(setq ess-fancy-comments nil) 

if you never want to indent single-# comments, or

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

if you want to change the behavior of Enter so it doesn't indent.

like image 23
Jouni K. Seppänen Avatar answered Sep 23 '22 22:09

Jouni K. Seppänen