2010-11-16 24 views

Répondre

4

Si le bloc du code est une forme Lisp et que vous souhaitez commenter ce formulaire, vous pouvez utiliser slime-insert-balanced-comments (j'utilise M-x s-i-b-c et BOUE élargit la commande automatiquement). Pour le décommenter, utiliser slime-remove-balanced-comments (M-x s-r-b-c).

J'ai trouvé ces commandes très utiles.

Aussi je mets le bloc suivant dans mon fichier .emacs:

;; Comment function 
(defun comment-or-uncomment-this (&optional lines) 
    (interactive "P") 
    (if mark-active 
     (if (< (mark) (point)) 
     (comment-or-uncomment-region (mark) (point)) 
     (comment-or-uncomment-region (point) (mark))) 
     (comment-or-uncomment-region 
     (line-beginning-position) 
     (line-end-position lines)))) 

(global-set-key (kbd "C-;") 'comment-or-uncomment-this) 

Je suppose, il était de here.

UPD: J'ai oublié de mentionner que malgré le fait que slime-insert/remove-balanced-comments fonctionne très bien avec paredit, le C; La commande peut être très pénible à utiliser sur les lignes dont le nombre de parenthèses est impair. En cas de lignes comme

((blah|-blah))))))) 

(où | signifie le point), je suis presse ) autant de fois que nécessaire pour briser la ligne au bon endroit et de détacher des parenthèses surbouchage de cette ligne (dans ce cas ce serait deux fois). Paredit aide ici: il réorganise le s-exp de sorte que les parenthèses fermantes sont divisées en deux parties et ainsi vous pouvez commenter la ligne sans casser les s-exps externes. Dans le dernier exemple de la ligne se transforme en:

((blah-blah)) 
|))))) 

et la première ligne peut être commenté en toute sécurité avec C;.

+0

Merci pour le conseil. – mcandre

3

Regardez ici:

Il est M-x comment-region, mais il n'y a pas de clé de liaison par défaut pour elle.

+3

Je crois que la fonction similaire 'comment-dwim' est liée à' M-; 'par défaut dans les versions actuelles d'Emacs. (Cela fait la même chose que 'comment-region' si la région est active, sinon il ajoute un commentaire à la fin de la ligne en cours.) – Porculus

+0

Merci beaucoup! – mcandre

+0

@mcandre Cool, heureux d'aider! –