Tìm kiếm thông qua các giá trị của tất cả các biến trong Emacs


9

Tôi muốn tìm biến nào chứa một giá trị nhất định.

Có cách nào để thực hiện tìm kiếm regex thông qua các giá trị của mọi biến trong Emacs không?

Câu trả lời:


12

apropos-valuelàm những gì bạn đang tìm kiếm?

(apropos-value PATTERN &optional DO-ALL)

Show all symbols whose value’s printed representation matches PATTERN.
PATTERN can be a word, a list of words (separated by spaces),
or a regexp (using some regexp special characters).  If it is a word,
search for matches for that word as a substring.  If it is a list of words,
search for matches for any two (or more) of those words.

3

Lệnh Iciclesicicle-apropos-value tăng cường lệnh vanilla apropos-value, bằng cách cho phép bạn đồng thời khớp têngiá trị của biến với regexps (hoặc chuỗi con hoặc các mẫu khác). Bạn không cần phải khớp cả hai, nhưng bạn có thể khớp cả hai.

Và (như với tất cả các hoàn thành Icicles), bạn có thể khớp tên hoặc giá trị hoặc cả hai dần dần , nghĩa là sử dụng nhiều mẫu tăng dần. Điều này đặc biệt quan trọng đối với trường hợp, như bạn nói, bạn đang khớp với tất cả các biến trong Emacs, để bắt đầu. Đó là, bạn không quan tâm để phù hợp với tên; bạn chỉ muốn khớp giá trị.

Để khớp cả tên và giá trị, chỉ cần sử dụng C-M-jđể kết thúc mẫu tên và bắt đầu mẫu giá trị. Vì vậy, để chỉ khớp các giá trị, bạn bắt đầu với C-M-jvà sau đó nhập mẫu giá trị, vì mẫu tên trống.

Ví dụ: để xem tất cả các biến có giá trị hiện tại khớp nil( S-TABhiển thị khớp):

M-x icicle-apropos-value RET

SYMBOL C-M-j VALUE: C-M-j nil S-TAB

Để xem tất cả các biến có giá trị hiện tại khớp với biểu thức chính quy .*plist:

SYMBOL C-M-j VALUE: C-M-j .*plist S-TAB

Các biến phù hợp và giá trị của chúng được hiển thị trong bộ đệm *Completions*, dưới dạng các ứng cử viên hoàn thành. Bạn có thể xoay vòng giữa các ứng cử viên, lần lượt tạo từng dòng một, sử dụng các phím mũi tên dọc : <down> <down> <down>....

Dòng chuỗi doc đầu tiên cho ứng cử viên hoàn thành hiện tại được hiển thị trong dòng chế độ của *Completions*.

Bạn có thể nhận được một mô tả đầy đủ (ví dụ, C-h v) về ứng cử viên hiện tại bằng cách sử dụng khóa trợ giúp trên đó: C-M-mouse-2hoặc C-M-RET. Để xem trợ giúp lần lượt cho từng ứng cử viên, hãy sử dụng các phím mũi tên với C-M-(ví dụ: lặp lại C-M-<down>).

Xem Giá trị đa biến-Aware đa năng .

C-h f icicle-apropos-value nói điều này:

icicle-apropos-valuelà một chức năng Lisp tương tác được biên dịch trong icicles-cmd1.el.

Nó là ràng buộc để menu-bar help-menu apropos icicles icicle-apropos-value, menu-bar help-menu apropos apropos-var-value, menu-bar help-menu search-documentation find-option-by-value.

(icicle-apropos-value)

Chọn một biến, chức năng hoặc mô tả biểu tượng khác.

Điều này tương tự như lệnh vanilla apropos-value, nhưng bạn có thể khớp với tên biến và giá trị in của nó cùng một lúc.

Theo mặc định, mỗi ứng cử viên hoàn thành là đa hoàn thành bao gồm một tên biến cộng với giá trị của nó. Chúng được phân tách bằng icicle-list-join-string( "^G^J", theo mặc định).

Với tiền tố arg, ứng viên là các loại ký hiệu khác nhau:

  • <0: các hàm và các defs của chúng (nhưng các defs được biên dịch byte bị bỏ qua)
  • > 0: ký hiệu và số nguyên của chúng
  • = 0: các biến và giá trị, hàm và định nghĩa của chúng và các ký hiệu khác cũng như các giá trị của chúng

  • plain ( C-u): sử dụng bộ ứng viên được tính toán cuối cùng (được lưu trong bộ nhớ cache )

Bạn có thể sử dụng C-$trong khi hoàn thành để chuyển đổi lọc tên miền của các ứng cử viên ban đầu theo đối số tiền tố, như sau:

  • không có: chỉ có tùy chọn người dùng (+ giá trị)
  • <0: chỉ các lệnh (+ định nghĩa)
  • > 0: chỉ khuôn mặt (+ plists)
  • = 0: chỉ các tùy chọn (+ giá trị), lệnh (+ defs), khuôn mặt (+ plists)

Xem thêm:

  • icicle-apropos-vars-w-val-satisfying, icicle-describe-vars-w-val-satisfying- các giá trị thỏa mãn một vị ngữ
  • icicle-plist - tương tự lệnh này với tiền tố dương arg
  • icicle-vardoc, icicle-fundoc, icicle-doc- tên trận đấu & doc
  • icicle-apropos-options-of-type, icicle-describe-option-of-type- tên trùng khớp và loại defcustom

Bởi vì bạn sẽ thường sử dụng lệnh này trong các ngữ cảnh dẫn đến nhiều, nhiều ứng cử viên hoàn thành, các mục sau đây bị tắt theo mặc định cho lệnh này:

  • Chế độ hoàn thành. Bạn có thể chuyển đổi này bằng cách sử dụng M-i M-#.
  • Icicles hoàn thành gia tăng. Bạn có thể xoay vòng này bằng cách sử dụng M-i #.

Đọc đầu vào, sau đó gọi icicle-doc-actionđể hành động trên nó.

Hoàn thành ứng cử viên đầu vào và đi xe đạp có sẵn. Trong khi đạp xe, các phím có tiền tố C-này đang hoạt động:

C-mouse-2, C-return- Đạo luật về ứng cử viên hoàn hiện chỉ C-down, C-wheel-down- Di chuyển đến ứng cử viên hoàn thành tiếp theo và hành động C-up, C-wheel-up- Di chuyển đến ứng cử viên hoàn thành trước và hành động C-next - Di chuyển đến ứng cử viên apropos hoàn thành tiếp theo và hành động C-prior- Di chuyển đến ứng cử viên apropos hoàn thành trước và hành động C-end - Di chuyển đến tiếp theo Ứng cử viên và hành động hoàn thành tiền tố C-home - Chuyển sang ứng cử viên và hành động hoàn thành tiền tố trước đó C-! - Hành động đối với tất cả các ứng cử viên, liên tiếp (cẩn thận!)

Khi hành động ứng cử viên và đi xe đạp được kết hợp (ví dụ C-next), tùy chọn người dùng sẽ icicle-act-before-cycle-flagxác định điều nào xảy ra trước.

Với tiền tố C-M-thay vì C-, các phím tương tự ( C-M-mouse-2, C-M-RET, C-M-down, và vân vân) cung cấp sự giúp đỡ về các ứng cử viên.

Sử dụng mouse-2, REThoặc S-RETcuối cùng chọn một ứng cử viên, hoặc C-gbỏ.

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.