การแสดงออกปกติ
หากต้องการใช้ regex find-lisp-find-dired
คุณอาจลอง คำสั่งนี้เป็นของ lib มาตรฐาน find-lispซึ่งเขียนด้วย elisp เช่นคุณไม่จำเป็นต้องติดตั้งfind
โปรแกรมภายนอก
ตัวอย่างเช่นต่อไปนี้แสดงไฟล์ทั้งหมดที่มีนามสกุล '.el' ภายใต้ไดเรกทอรี ~ / lisp:
M-x find-lisp-find-dired RET ~/lisp RET \.el\' RET
(การแข่งขันเกียรตินิยมcase-fold-search
)
Wildcard
เป็นที่น่าสังเกตว่าตั้งแต่รุ่น Emacs รุ่นถัดไป (v26.1) Dired รองรับ wilcards ในส่วนไดเรกทอรีของอาร์กิวเมนต์ชื่อไฟล์ นั่นหมายถึงงานต่อไปนี้:
C-x d ~/soft/*/*.c RET
(การแข่งขันเป็นกรณี ๆ ไป)
คำสั่งนี้จะแสดงให้เห็นใน Dired buffer ไฟล์ทั้งหมดที่มี '.c' ขยาย 2 ระดับความลึกใต้'~ / อ่อน' นั่นหมายความว่าไฟล์ทั้งหมดเช่น
'~ / นุ่ม / foo / bar.c'จะแสดง แต่ไม่ไฟล์เช่น'~ / นุ่ม / qux.c'
หรือ'~ / นุ่ม / foo / baz / qux.c'
ตัวพิมพ์เล็กและตัวพิมพ์เล็ก:
C-x d ~/soft/*/*.[cC] RET
โบนัส
ถ้าคุณกำลังเรียก Dired ด้วย 'LS' ดำเนินการใน Elisp 'LS-กระเพื่อม' หรือ 'eshell-LS' แล้วคุณสามารถซ้ำรายการไฟล์ทั้งหมดที่ตรงกับสัญลักษณ์แทนด้วย syntaxis ต่อไปนี้:
C-x d ~/soft/**/*.c RET
หมายเหตุ '**' ในกรณีนี้ไฟล์ทั้งหมดภายใต้'~ / นุ่ม'จับคู่สัญลักษณ์แสดงแม้'~ / นุ่ม / qux.c'
อย่างไรก็ตามเมื่อคุณใช้insert-directory-program
ส่วนขยายของ wildcard นั้นทำโดยเชลล์ระบบ นั่นหมายความว่าซินแท็กซ์ '**' แบบเรียกซ้ำนี้ใช้งานได้หากเชลล์ของคุณรองรับ ยกตัวอย่างเช่น zsh รองรับ แต่ทุบตีไม่ได้ ด้วยเชลล์อื่น ๆ ที่ zsh คำสั่งก่อนหน้าจะทำเช่นเดียวกันกับ:
C-x d ~/soft/*/*.c RET