Emacs设置行内(行末)注释的间距

8
在Python的PEP 8风格指南中,建议将行内注释与该行其余部分用两个空格隔开。然而,在Emacs中,默认情况是使用comment-dwimindent-for-comment命令时,只在行末和注释之间加入一个空格。是否有一种方法可以更改Emacs中的这种默认行为?
我正在运行Emacs 23.3.1。
4个回答

6
这将实现你想要的功能:

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

3

您可以通过命令C-h v RET comment-inline-offset查看Emacs的文档,然后像@And所说的那样找到答案。

以下是简化版本:

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

1
我认为这可能会达到你想要的效果:

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

1
尝试将comment-start设置为" # "(前面一个空格,后面一个空格)。
M-x set-variable comment-start " # "

这个有些问题,它有两个问题:首先,它改变了所有行的注释语法(所以当我注释一行时,它们会带有额外的空格,使它们与文本的其余部分不对齐)。其次,如果我再次在内联注释行上运行comment-dwim,它将重新对齐内联注释,只保留一个空格。 - rottweiler
是的,我明白。昨晚我已经开始查找源代码,试图找到第一个空格插入的位置,但时间不够了。 - derekv

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接