7
votes

EMACS SET SPACING POUR DES COMMENTAIRES ENLINE (FIN DE LA LIGNE)

Dans le guide de style PEP 8 pour Python, il est recommandé que les commentaires en ligne soient séparés par le reste de la ligne par deux espaces . Cependant, la valeur par défaut dans EMACS est que fonctionnant commentaire-Dwim ou indent-for-commentaires ne met qu'un espace entre la fin de la ligne et le commentaire. Existe-t-il un moyen de modifier ce comportement par défaut dans EMACS?

Je cours emacs 23.3.1


0 commentaires

4 Réponses :


1
votes

essayez de paramétrer commentaire-start code> à "#" code> (un espace avant, un après-autre).

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


2 commentaires

Ce quelque peu travaille, mais a deux problèmes: il change d'abord la syntaxe de commentaire pour toutes les lignes (alors lorsque je commente une ligne, ils ont commenté avec un espace supplémentaire, les alignant avec le reste du texte). Deuxièmement, si j'exécute Commentaire-Dwim sur la ligne avec le commentaire en ligne à nouveau, il réaligne le commentaire en ligne pour avoir un seul espace.


Oui, je comprends. J'avais commencé à creuser une source la nuit dernière, essayant de trouver où le premier espace est inséré, mais a manqué de temps.



1
votes

Je pense que cela pourrait faire ce que vous voulez:

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


0 commentaires

6
votes

Cela devrait faire ce que vous voulez:

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


0 commentaires

2
votes

Vous pouvez vérifier la documentation de EMACS par C-H V RET COMMENTAIRE-INLINE-OFFSET CODE>, vous trouverez la réponse comme @And.

Voici une version simplifiée: P>

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


0 commentaires