12
votes

LISP sur EMACS: Comment commenter une expression multiligne?

Par exemple, si je veux commenter ceci:

(defun noop ()
  nil)


4 commentaires

Cela fonctionne pour moi, aucune course à pied ici. Dis-vous que lorsque vous insérez un point-virgule avant "(défun", une nouvelle ligne est automatiquement insérée après et "(défunt" commence à nouveau sur une nouvelle ligne? Ce serait très étrange; cela ne serait pas très étrange; ça ne se produit pas de mes versions d'Emacs (GNU EMACS 22.1 et Aquamacs EMACS basés sur GNU EMACS 22.3.1).


Oui, ça arrive comme ça. GNU EMACS 23.1.1.


Vous avez le plus probable paredit installé.


Alors quel mode a-t-il avéré être?


7 Réponses :


15
votes

Voir la commande M-X Commentaire-Région et associée.


0 commentaires

5
votes

Marquez les deux lignes et appelez M-x Commentaire-région . Regardez également commentaire-ou-notification-région et commentaires-Dwim Fonctions.


0 commentaires

5
votes

MX Commentaire-Dwim ou M -; , qui est la liaison de clé par défaut pour le premier - pourrait vous faire économiser quelques coups de clé, car il ne fait pas seulement des commentaires, car il ne fait pas seulement des commentaires, Mais décompagne une région, si elle a déjà été commentée. Quoi qu'il en soit, consultez manuel EMACS pour un bon Description.


1 commentaires

Malheureusement, sur My Emacs M-X Commentaire-Dwim Inserts Semicolon à la fin de la ligne, m-; insère trois points-virgules et une nouvelle ligne



6
votes

ron, faites un Ctrl-H m et regardez les modes mineurs. Vous avez du mode mineur "utile" actif. (Peut-être parédit mais je ne pense pas que c'est ça.) Je me souviens qu'il y avait quelque chose comme ça quand j'ai essayé le kit de démarrage Emacs. Cela a duré peut-être trente secondes avant que je criais et j'ai trouvé comment le tuer.

Dans tous les cas, ce n'est pas le comportement de l'EMACS par défaut, c'est un fichier init-file ou site-emacs.


1 commentaires

Type C-H K; et EMACS vous indiqueront quelle commande Semicolon est liée et quelle bibliothèque le définit. De là, vous devriez être capable de comprendre ce que vous devez désactiver.



1
votes

Si vous parlez de LISP commun (plutôt que de dire, EMACS-LISP), vous pouvez utiliser # + (ou) : xxx

Voir CLHS pour plus de détails.


0 commentaires

2
votes

Pour la tâche spécifique que vous avez demandée dans le titre (commentant une expression complète pouvant parcourir plusieurs lignes à la fois), appuyez d'abord sur cm-spc (lié à Mark-SexP ) Pour définir la région sur l'expression suivant le point suivant, puis m -; (lié à commentaire-Dwim qui appellera Commentaire-région ).


0 commentaires

1
votes

Un peu en retard à la fête, cependant, qu'en est-il: xxx


1 commentaires

Triste qu'il a fallu quelques années à prendre, mais ces solutions macro ne seront pas très utiles, car le corps aura toujours besoin d'évaluer sans erreur.