Có thể xảy ra chỉ hiển thị phần phù hợp?


7

Hoặc có một công cụ thay thế (có lẽ là một số tùy chọn để isearch?) Chỉ hiển thị các kết quả khớp trong một bộ đệm riêng được liên kết với bộ đệm ban đầu?

Ca sử dụng

Tôi có một tệp nhật ký với các dòng rất dài. Khi dòng phù hợp xuất hiện trong *occur*bộ đệm, nó vẫn còn quá lộn xộn không hữu ích (do gói và rất nhiều thông tin bổ sung).

Không khó để viết một cái gì đó như thế này, nhưng có vẻ cơ bản đến mức nó phải được thực hiện trước đó.

Nếu lời giải thích của tôi không đủ tốt, hãy nghĩ về grep -Po search-string.


Tôi không biết một lệnh khác cho việc này, nhưng tại sao không sử dụng chỉ M-x grepvới -Po? (ví dụ, grep -Po -nH -e search-string *.el) Điều đó làm việc cho tôi. Bộ đệm *grep*là khá nhiều xảy ra - như, không?
vẽ

@Drew chắc chắn sẽ hoạt động, nhưng bạn sẽ cần lưu bộ đệm vào tệp (không phải là vấn đề trong trường hợp của tôi, nhưng nói chung, bạn muốn làm việc với bộ đệm).
wvxvw

Xin lỗi, tôi không hiểu. Tại sao bạn cần lưu bộ đệm vào một tệp? Bằng cách nào bạn đang sử dụng một tệp cho lượt truy cập tìm kiếm, ở đây? (Tôi không thấy bất cứ điều gì về câu hỏi đó.)
Drew

@Drew không trong trường hợp cụ thể này, nhưng tôi thường xuyên làm việc với các bộ đệm không liên quan đến bất kỳ tệp nào. Nó sẽ là tốt đẹp để có thể hiển thị các trận đấu cho họ là tốt. Ví dụ: một phiên trong trình vỏ tương tác, bộ đệm đầu ra quá trình, một trang web được mở trong một số trình duyệt được nhúng, v.v.
wvxvw

Ồ, tôi thấy - tất nhiên. Xin lỗi tôi đã không nhận được nó. Tôi nghĩ rằng bạn đang nói về *grep*bộ đệm được liên kết với một tệp, thay vì tìm kiếm bộ đệm không phải tệp.
vẽ

Câu trả lời:


4

occurcó thể làm điều này với đối số tiền tố C-u M-x occur.


Ồ, tôi đã thử sai rồi, chắc chắn, giờ tôi đã thấy.
wvxvw

1
Có một cái gì đó tôi đã không nhận thấy lúc đầu: khi occurđược gọi theo cách này, các kết quả khớp mà nó hiển thị không còn được liên kết với vị trí trong bộ đệm ban đầu mà chúng xuất phát. Dường như không có cách nào để làm cho chúng tương tác, hay nó?
wvxvw

Hiện tại xảy ra không liên kết chỉ phù hợp với bộ đệm ban đầu. Nhưng thật đơn giản để thực hiện tính năng này, vì vậy, để đưa nó vào Emacs, tôi khuyên bạn nên gửi yêu cầu tính năng đến bug-gnu-emacs@gnu.org
link0ff
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.