Cách tìm kiếm * chỉ * dòng hiện tại


8

Tôi đang làm việc với các tệp dữ liệu lớn, cực rộng, có lẽ tôi chỉ nên xem trong Excel ... nhưng tôi thích ở lại Emacs hơn. Có một chức năng elisp để tìm kiếm (và phông chữ) chỉ trên dòng hiện tại?


3
Bạn có thể chọn dòng, thu hẹp đến khu vực đó và thực hiện tìm kiếm gia tăng cũ đơn giản.
Kaushal Modi

@kaushalmodi: Xin vui lòng gửi đó như là một câu trả lời (một câu trả lời tốt). Nếu một câu trả lời được chấp nhận thì câu hỏi không còn xuất hiện trong số những câu trả lời đó nữa. ;-)
vẽ

OP: Ý của bạn là "(và fontify)" là gì?
vẽ

@Drew: isearch nổi bật phù hợp, đó là tốt đẹp, nhưng thực sự chậm.
wdkrnls

1
Hãy nhớ rằng bạn có thể cho Isearch biết có bao nhiêu trận đấu cần làm nổi bật tại một thời điểm: tùy chọn lazy-highlight-max-at-a-time. Xem thêm các lazy-highlight-*lựa chọn khác . Nhưng điểm nhấn này có thể xử lý cả một dòng; không biết. Nếu có, và các tùy chọn này không có ích, hãy xem xét gửi yêu cầu nâng cao : M-x report-emacs-bug.
vẽ

Câu trả lời:


8

Isearch khá linh hoạt và nếu bạn cảm thấy mệt mỏi vì liên tục thu hẹp bộ đệm (như đã đề xuất), bạn có thể muốn có một lệnh chuyên dụng cho việc này, ví dụ:

(defun isearch-line-forward (&optional regexp-p)
  (interactive "P")
  (let* ((beg (line-beginning-position))
         (end (line-end-position))
         (isearch-message-prefix-add "[Line]")
         (isearch-search-fun-function
          `(lambda ()
             (lambda (string &optional bound noerror)
               (save-restriction
                 (narrow-to-region ,beg ,end)
                 (funcall (isearch-search-fun-default)
                          string bound noerror))))))
    (isearch-forward regexp-p)))

10
  • Chọn dòng hiện tại ( C-a C-SPC C-e)
  • Vùng hẹp ( C-x n n)
  • Thực hiện tìm kiếm bằng bất kỳ phương pháp nào
  • Quay trở lại bộ đệm ban đầu bằng cách mở rộng ( C-x n w)
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.