Chế độ ác và biểu thức chính quy


10

Trong Vim, nếu tôi muốn tìm kiếm tất cả các tên biến LX trong đó X là một số, tôi có thể chỉ cần gõ /L\d. Tuy nhiên, điều này dường như không hoạt động với evil.

Có một cú pháp khác cho các biểu thức thông thường trong chế độ Evil, hoặc tôi sẽ phải quay lại một số chức năng Emacs để tìm kiếm và thay thế bằng các biểu thức thông thường?

Tôi đang sử dụng spacemacs, và tôi khá là không biết gì về hầu hết mọi thứ trong Emacs, vui vẻ ở trong chế độ Evil cả ngày :).


Bạn đang cố gắng tìm kiếm ở đâu? Trong một tài liệu hoặc trong các biến toàn cầu của emac?
Jules

Tôi đang tìm kiếm trong một tài liệu văn bản
Michelrandahl

Bạn đang sử dụng isearchhoặc một cái gì đó như helm-swoophoặc swiper? Hai người cuối cùng sẽ có thể làm những gì bạn muốn một cách dễ dàng. Nếu bạn muốn sử dụng isearchchức năng bình thường nhưng muốn sử dụng một công cụ regrec khác, hãy xem github.com/benma/visual-regapid-steroids.el
Jules

Câu trả lời:


7

evilsử dụng các cơ sở regrec Emacs dưới mui xe. Thật không may, Emacs dường như không có một lớp cú pháp riêng cho các chữ số và không nhận ra lớp \d regrec .

Vì vậy, để phù hợp với biến của bạn được đặt tên LXnơi Xlà một chữ số, có vẻ như bạn đang mắc kẹt với vụng về /L[0-9]hoặc clunkier thậm chí /L[[:digit:]].

Lưu ý rằng, về nguyên tắc, có vẻ như bạn có thể sử dụng mã ký tự như được liệt kê bởi describe-categories:

`\cc`

matches any character whose category is *c*.  Here *c* is a
character that represents a category: thus, 'c' for Chinese
characters or 'g' for Greek characters in the standard
category table. You can see the list of all the currently
defined categories with `M-x describe-categories RET`. You can
also define your own categories in addition to the standard
ones using the `define-category` function (see Categories).

Theo describe-categories, các chữ số là loại 6. Do đó, /L\c6nên hoạt động (mặc dù nó không phù hợp với tôi, mặc dù các loại khác làm được). Tuy nhiên, bạn sẽ không tiết kiệm cho mình việc đánh máy lúng túng khi so sánh với /L[0-9].


Cảm ơn rât nhiều! Nghĩ rằng tôi có thể sống với cú pháp vụng về bây giờ. Rất vui khi tìm kiếm thay thế một cách thuận tiện hơn một lần nữa, và tôi vừa kiểm tra rằng nó thậm chí hoạt động với các mẫu chụp, yay!
Michelrandahl
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.