Arama sorgusu sorgusu yap ve satır dışına yorum yap?


9

Nasıl sorgu yerine bir satır yorum yapacak bir sorgu arama yapmak anlamaya umuyorum. Yani, etkileşimli bir sorgu araması yapın ve evet dersem, eşleşmenin yapıldığı satırı yorumlayın.

Bu komut var mı? Değilse, nasıl yazarım? Elisp'te yeniyim ve kendi işlevlerimi nasıl programlayacağımı bilmiyorum.


8
Kullanın query-replace-regexp. Satırı, yorum başlangıcı önekine sahip satırla değiştirin.
Drew

Yanıtlar:


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))

Yorum satırı mevcut değilse, yakın zamanda yeni gelenlerden .el:

(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))))

Bunun için teşekkürler, burada ne döndü "Sembol fonksiyon tanımı geçersiz: yorum satırı"
Jaime Arturo Gomez

@JaimeArturoGomez Son zamanlarda tanıtıldı. Bir kopyasını sağladı.
Andreas Röhler
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.