Saya ingin mencari variabel mana yang mengandung nilai tertentu.
Apakah ada cara untuk melakukan pencarian regex melalui nilai-nilai setiap variabel di Emacs?
Saya ingin mencari variabel mana yang mengandung nilai tertentu.
Apakah ada cara untuk melakukan pencarian regex melalui nilai-nilai setiap variabel di Emacs?
Apakah apropos-value
melakukan apa yang Anda cari?
(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.
Perintah Iciclesicicle-apropos-value
meningkatkan perintah vanilla apropos-value
, dengan membiarkan Anda secara bersamaan mencocokkan nama variabel dan nilai terhadap regexps (atau substring atau pola lainnya). Anda tidak perlu mencocokkan keduanya, tetapi Anda dapat mencocokkan keduanya.
Dan (seperti dengan semua penyelesaian Icicles) Anda dapat mencocokkan nama atau nilai atau keduanya secara progresif , yaitu, menggunakan beberapa pola secara bertahap. Ini sangat penting untuk kasus di mana, seperti yang Anda katakan, Anda cocok dengan semua variabel di Emacs, untuk memulai. Artinya, Anda tidak peduli untuk mencocokkan dengan nama; Anda hanya ingin mencocokkan nilai.
Untuk mencocokkan nama dan nilai, gunakan saja C-M-j
untuk mengakhiri pola nama dan memulai pola nilai. Jadi untuk mencocokkan hanya nilai, Anda mulai dengan C-M-j
dan kemudian ketik pola nilai, karena pola nama kosong.
Misalnya, untuk melihat semua variabel yang nilainya saat ini cocok nil
( S-TAB
menunjukkan kecocokan):
M-x icicle-apropos-value RET
SYMBOL C-M-j VALUE:
C-M-j
nil
S-TAB
Untuk melihat semua variabel yang nilainya saat ini cocok dengan regexp .*plist
:
SYMBOL C-M-j VALUE:
C-M-j
.*plist
S-TAB
Variabel yang cocok dan nilainya ditampilkan dalam buffer *Completions*
, sebagai kandidat penyelesaian. Anda dapat siklus antara kandidat, membuat masing-masing saat ini pada gilirannya, menggunakan tombol vertikal-panah: <down> <down> <down>...
.
Baris doc-string pertama untuk kandidat penyelesaian saat ini ditunjukkan pada mode-line *Completions*
.
Anda bisa mendapatkan deskripsi lengkap (yaitu, C-h v
) dari kandidat saat ini dengan menggunakan kunci bantuan di atasnya: C-M-mouse-2
atau C-M-RET
. Untuk melihat bantuan pada masing-masing kandidat secara bergantian, siklus menggunakan tombol panah dengan C-M-
(misalnya, ulangi C-M-<down>
).
Lihat Value-Aware Variable-Apropos Multi-Command .
C-h f icicle-apropos-value
mengatakan ini:
icicle-apropos-value
adalah fungsi Lisp interaktif yang dikompilasi diicicles-cmd1.el
.Hal ini terikat untuk
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)
Pilih variabel, fungsi, atau deskripsi simbol lainnya.
Ini mirip dengan perintah vanilla
apropos-value
, tetapi Anda dapat mencocokkan dengan nama variabel dan nilai yang dicetak pada saat yang sama.Secara default, setiap kandidat penyelesaian terdiri dari beberapa penyelesaian yang terdiri dari nama variabel plus nilainya. Mereka dipisahkan oleh
icicle-list-join-string
("^G^J"
, secara default).Dengan arg awalan, kandidat adalah berbagai jenis simbol:
- <0: fungsi dan defnya (tetapi def byte-yang dikompilasi dilewati)
- > 0: simbol dan daftar mereka
= 0: variabel dan nilainya, fungsi dan definisi mereka, dan simbol lainnya dan daftar mereka
plain (
C-u
): menggunakan set kandidat yang dihitung terakhir (dalam cache )Anda dapat menggunakan
C-$
selama penyelesaian untuk beralih memfilter domain kandidat awal sesuai dengan argumen awalan, sebagai berikut:
- tidak ada: hanya opsi pengguna (+ nilai)
- <0: hanya perintah (+ definisi)
- > 0: hanya wajah (+ daftar)
- = 0: hanya opsi (+ nilai), perintah (+ def), wajah (+ daftar)
Lihat juga:
icicle-apropos-vars-w-val-satisfying
,icicle-describe-vars-w-val-satisfying
- nilai memenuhi predikaticicle-plist
- mirip dengan perintah ini dengan arg awalan positificicle-vardoc
,icicle-fundoc
,icicle-doc
- nama pertandingan & docicicle-apropos-options-of-type
,icicle-describe-option-of-type
- cocokkan nama & jenis defcustomKarena Anda akan sering menggunakan perintah ini dalam konteks yang menghasilkan banyak, banyak kandidat penyelesaian, berikut ini dinonaktifkan secara default untuk perintah ini:
- Mode lengkap. Anda dapat beralih menggunakan ini
M-i M-#
.- Sel-sel es bertambah. Anda dapat menggunakan siklus ini
M-i #
.Baca input, lalu panggil
icicle-doc-action
untuk menindaklanjutinya.Selesai input-kandidat dan siklus tersedia. Saat bersepeda, kunci-kunci ini dengan awalan
C-
aktif:
C-mouse-2
,C-return
- Bertindak pada kandidat penyelesaian saja saat iniC-down
,C-wheel-down
- Pindah ke kandidat penyelesaian selanjutnya dan bertindakC-up
,C-wheel-up
- Pindah ke kandidat penyelesaian sebelumnya dan bertindakC-next
- Pindah ke kandidat penyelesaian-apropos berikutnya dan bertindakC-prior
- Pindah ke kandidat penyelesaian-penyelesaian apropos sebelumnya dan bertindakC-end
- Pindah ke berikutnya kandidat dan tindakan prefix-completionC-home
- Pindah ke kandidat dan tindakan prefix-completion sebelumnyaC-!
- Bertindak pada semua kandidat, berturut-turut (hati-hati!)Ketika tindakan kandidat dan siklus digabungkan (misalnya
C-next
), opsi penggunaicicle-act-before-cycle-flag
menentukan mana yang terjadi terlebih dahulu.Dengan awalan
C-M-
bukanC-
, kunci yang sama (C-M-mouse-2
,C-M-RET
,C-M-down
, dan sebagainya) memberikan bantuan tentang calon.Gunakan
mouse-2
,,RET
atauS-RET
untuk akhirnya memilih kandidat, atauC-g
untuk keluar.