2013-02-17 168 views
5

在Python的PEP 8风格指南中,建议内联注释由行的其余部分用two spaces分隔。但是,Emacs中的默认值是运行comment-dwimindent-for-comment只在行尾和注释之间留出一个空格。有没有办法在emacs中更改这种默认行为?Emacs设置行间距(行尾)注释

我运行Emacs的23.3.1

回答

5

这应该做你想要什么:

(add-hook 'python-mode-hook 
     (lambda() (set (make-local-variable 'comment-inline-offset) 2))) 
1

尝试设置comment-start" # "(前一个空间,一个afters)。

M-x set-variable comment-start " # " 
+0

这_somewhat_作品,但有两个问题:首先,它改变了所有行(所以当我注释掉一条线,他们得到标记有额外空间的注释语法,将它们与文本的其余部分对齐)。其次,如果我再次使用内嵌评论在行上运行'comment-dwim',它将重新对齐内联注释以仅有一个空格。 – rottweiler 2013-02-18 00:19:23

+0

是的,我明白了。我昨天晚上开始从源头挖掘,试图找到第一个空间插入的位置,但耗尽了时间。 – derekv 2013-02-18 15:17:53

1

我想这可能会做你想要什么:

(defun my-comment-indent() 
    (interactive) 
    (end-of-line) 
    (let ((comment-column (+ 2 (current-column)))) 
    (comment-indent))) 
1

您可以通过C-h v RET comment-inline-offset检查的emacs的文档,那么你会发现回答为@And说。

下面是一个简化版本:

(add-hook 'python-mode-hook 
    (lambda() (setq-local comment-inline-offset 2)))