ใช้คำสั่งรายการที่กำหนดเอง
Ctrlp ช่วยให้คุณบอกได้ว่าคำสั่งใดที่จะใช้เพื่อรับรายการไฟล์ในโฟลเดอร์ ดังนั้นหากคุณต้องการยกเว้นสิ่งที่มีชื่อbeets.txt
คุณสามารถทำได้:
let g:ctrlp_user_command = 'find %s -type f | grep -v "beets.txt"'
นั่นคือทั่วโลก แต่เริ่มชี้ไปที่คำตอบ: ระบุคำสั่งเชลล์ของคุณเอง
ยิ่งไปกว่านั้น Ctrlp ยังช่วยให้คุณสามารถระบุคำสั่งเชลล์ได้หลายคำด้วยเครื่องหมาย "ถ้าคุณเห็นเครื่องหมายนี้ในไดเรกทอรีรากให้ใช้คำสั่งนี้"
ฉันพบสิ่งนี้ใน:help ctrlp
และแก้ไขเล็กน้อยตามความคิดเห็นของผู้เขียนเกี่ยวกับปัญหา
let g:ctrlp_user_command = {
\ 'types': {
\ 1: ['.git', 'cd %s && git ls-files --cached --exclude-standard --others'],
\ 2: ['.hg', 'hg --cwd %s locate -I .'],
\ },
\ 'fallback': 'find %s -type f'
\ }
ซึ่งหมายความว่า: "หากคุณเห็น.git
ในโฟลเดอร์ให้ใช้git ls-files...
มิฉะนั้นถ้าคุณเห็น.hg
ใช้hg --cwd...
หรือใช้งานปกติfind
"
ดังนั้นจะไม่สนใจโฟลเดอร์เฉพาะในโครงการหนึ่งประดิษฐ์คำสั่งที่จะไม่สนใจโฟลเดอร์นั้นแล้ววางเครื่องหมายที่ไม่ซ้ำกันในโครงการที่จะปล่อยให้ Ctrlp ที่คุณต้องการที่จะใช้คำสั่งพิเศษของคุณที่นี่
(ในกรณีของฉันฉันต้องการเพิกเฉยต่อไฟล์ที่อยู่ใน.gitignore
นั้นดังนั้นgit ls-files
คำสั่งด้านบนจึงเหมาะกับฉัน)