Consulta de búsqueda y comentario fuera de línea?

9

Espero descubrir cómo hacer una búsqueda de consulta que comentará una línea en lugar de reemplazar la consulta. Es decir, haga una búsqueda de consulta interactiva y, si digo que sí, comente la línea en la que se encuentra la coincidencia.

¿Existe este comando? Si no, ¿cómo lo escribiría? Soy nuevo en elisp y no sé cómo programar mis propias funciones.

Jaime Arturo Gomez
fuente
8
Uso query-replace-regexp. Reemplace la línea por la línea prefijada con un comienzo de comentario.
Dibujó el

Respuestas:

1
(defun my-comment-matching-line ()
  (interactive "*")
  (call-interactively 'search-forward)
  (beginning-of-line)
  ;; don't comment the region maybe
  (push-mark)
  (comment-line 1))

En caso de que la línea de comentarios no esté disponible, aquí, de un nuevo comentario reciente.

(defun comment-line (n)
  "Comment or uncomment current line and leave point after it.
With positive prefix, apply to N lines including current one.
With negative prefix, apply to -N lines above.  Also, further
consecutive invocations of this command will inherit the negative
argument.

If region is active, comment lines in active region instead.
Unlike `comment-dwim', this always comments whole lines."
  (interactive "p")
  (if (use-region-p)
      (comment-or-uncomment-region
       (save-excursion
         (goto-char (region-beginning))
         (line-beginning-position))
       (save-excursion
         (goto-char (region-end))
         (line-end-position)))
    (when (and (eq last-command 'comment-line-backward)
               (natnump n))
      (setq n (- n)))
    (let ((range
           (list (line-beginning-position)
                 (goto-char (line-end-position n)))))
      (comment-or-uncomment-region
       (apply #'min range)
       (apply #'max range)))
    (forward-line 1)
    (back-to-indentation)
    (unless (natnump n) (setq this-command 'comment-line-backward))))
Andreas Röhler
fuente
Gracias por esto, lo que tiene aquí ha devuelto "La definición de la función del símbolo es nula: línea de comentarios"
Jaime Arturo Gómez
@JaimeArturoGomez Parece ser presentado recientemente. Proporcionó una copia.
Andreas Röhler