Truy vấn tìm kiếm và bình luận ra dòng?


9

Tôi hy vọng tìm ra cách thực hiện tìm kiếm truy vấn sẽ nhận xét một dòng thay vì truy vấn thay thế. Đó là, thực hiện tìm kiếm truy vấn tương tác và nếu tôi nói có, hãy nhận xét dòng phù hợp.

Liệu lệnh này có tồn tại? Nếu không, tôi sẽ viết nó như thế nào? Tôi chưa quen với elisp và không biết cách lập trình các chức năng của riêng mình.


8
Sử dụng query-replace-regexp. Thay thế dòng bằng dòng có tiền tố bắt đầu bằng nhận xét.
vẽ

Câu trả lời:


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

Nếu dòng bình luận không có sẵn, ở đây từ một newcomment.el gần đây:

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

Cảm ơn vì điều này, những gì bạn có ở đây đã trả về "Định nghĩa chức năng của biểu tượng là void: line-line"
Jaime Arturo Gomez

@JaimeArturoGomez Có vẻ như được giới thiệu gần đây. Cung cấp một bản sao.
Andreas Röhler
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.