เมื่อใดที่จะใช้ไดเร็กทอรี after /


14

ฉันเข้าใจว่าเป็นสถานที่ที่จะนำสิ่งต่าง ๆ ที่ควรจะมีคำพูดสุดท้ายและไม่ถูกแทนที่โดยแหล่งข้อมูลอื่น แต่ฉันไม่ชัดเจนเกี่ยวกับวิธีการตัดสินใจว่าจะใส่อะไรลงไป~/.vim/after/ftplugin/แทนที่จะ~/.vim/ftplugin/พูด

โดยทั่วไปแล้วผู้คนใช้~/.vim/ftplugin/และย้ายสิ่งต่างๆเข้ามา~/.vim/after/ftplugin/หากพวกเขาสังเกตเห็นพฤติกรรมที่ไม่พึงประสงค์หรือพวกเขาวางมันลงในไดเร็กตอรี่ทันที

คำตอบ:


20

โดยทั่วไปถ้าคุณต้องการเพิ่มปลั๊กอินของคุณเองหรือแทนที่ปลั๊กอินมาตรฐานที่มีของคุณเองก็จะไปเป็นหรือ~/.vim/plugin ~/.vim/ftpluginแต่หากคุณต้องการที่จะให้การทำงานของปลั๊กอินที่มีอยู่ แต่เพิ่มหรือเปลี่ยนการตั้งค่าเพียงไม่กี่ทำโดยมันแล้วปลั๊กอินของคุณจะไปเป็นหรือ~/.vim/after/plugin~/.vim/after/ftplugin


ด้วยเหตุผลบางอย่างฉันถือว่า Vim ค้นหา runtimepath และหาไฟล์แต่ละไฟล์ที่ตรงกับเกณฑ์การค้นหามากกว่าเพียงแค่จัดหาคู่แรกที่พบ มันฟังดูคล้ายกับสิ่งที่อยู่ในไดเร็กตอรี่หลังจากได้รับการรักษาแบบ "เพิ่มเติมจาก" แต่อาจจะมีทุกอย่างที่ได้รับการปฏิบัติมากกว่าเช่นตัวแปร Unix PATH ที่นัดแรกชนะ?
ivan

5
เป็นกลุ่มที่ไม่แหล่งที่มาแต่ละแฟ้มที่ตรงกับเกณฑ์การค้นหา if exists("g:loaded_<plugin name>") finish endif let g:loaded_<plugin name> = 1แต่ปลั๊กอินถูกต้องเขียนมีการทดสอบใกล้ด้านบนของพวกเขาในรูปแบบ ปลั๊กอินที่ถูกโหลดครั้งแรก "ชนะ" และปลั๊กอินที่ตามมาของการออกจากชื่อเดียวกันก่อนfinishคำสั่ง นั่นเป็นวิธีที่ปลั๊กอินใน~/.vim/pluginไดเรกทอรีของคุณสามารถป้องกันไม่ให้ปลั๊กอิน$VIMRUNTIME/pluginโหลดอย่างสมบูรณ์ การทดสอบนั้นไม่รวมอยู่ในafterไฟล์ปลั๊กอิน
garyjohn

ตกลงฉันคิดว่าฉันเข้าใจแล้ว เนื่องจากไฟล์ที่ตรงกันทั้งหมดจะมีแหล่งที่มาให้ใช้finishคำสั่งป้องกันเมื่อคุณต้องการโหลดเฉพาะคู่แรกและใช้ after-directory ( โดยไม่มีข้อfinishป้องกัน) เมื่อคุณต้องการแทนที่การตั้งค่าที่ได้รับผลกระทบจากอีกไฟล์หนึ่ง แหล่งที่มา
ivan

1

ถ้า vanilla vim รู้จักชนิดไฟล์ที่แน่นอนและคุณต้องการแก้ไขพฤติกรรมการจัดส่งการตั้งค่าของคุณเองจะเข้าสู่ ~/.vim/after/ftplugin/

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.