จะโหลดปลั๊กอินได้อย่างไร?


1

คู่ค้าและฉันกำลังรักษา Vimified โครงการกำหนดค่า Vim โดยใช้ Vundle .

เมื่อเวลาผ่านไปไฟล์การกำหนดค่าก็กำลังเติบโตตามที่เราพยายามเสนอการกำหนดค่าที่ดีที่สุดสำหรับภาษาที่มากขึ้น

เรามีการจัดการแพ็คเกจ ( อ่านเพิ่มเติม ) ซึ่งอนุญาตให้คุณติดตั้งเฉพาะชุดข้อมูลที่มีบทบาทในสิ่งที่คุณสนใจ

เช่นเดียวกับใน บริษัท ของฉันมีโปรแกรมเมอร์หลายคนเป็นจำนวนมาก และเราเริ่มสงสัยว่าอะไรจะเป็นวิธีที่ดีกว่าในการทำให้ Vim เร็วขึ้นแม้ว่าฉันจะต้องสนับสนุนภาษามากมายเพราะฉันรู้หลายภาษา

ดังนั้นเราเริ่มพูดว่า: จะเป็นอย่างไรถ้าเราสามารถโหลดปลั๊กอินได้อย่างรวดเร็วตามส่วนขยายของไฟล์

เรารู้ว่าโดยค่าเริ่มต้นการเปลี่ยนแปลงการกำหนดค่าของมันขึ้นอยู่กับนามสกุลไฟล์ (เช่นไวยากรณ์) เราเริ่มคิดว่าเราสามารถใช้ autocmd แต่หลังจากหนึ่งหรือสองชั่วโมงฉันไม่สามารถหาวิธีทำได้

ใครจะมีความคิด? หรือเป็นไปได้จริง ๆ ?

คำตอบ:


4

ปลั๊กอินเฉพาะภาษาควรอยู่ใน ftplugin/ ไดเรกทอรีย่อยและกำหนดหน้าที่การใช้งานสำหรับบัฟเฟอร์ปัจจุบันเท่านั้น ด้วยวิธีนี้พวกเขาจะโหลดได้เมื่อนั้น filetype มีการแก้ไขและการเริ่มต้นเป็นกลุ่มของคุณจะยังคงอยู่และรวดเร็ว

ผู้ใช้ติดตั้งปลั๊กอินเอนกประสงค์ (เช่นสิ่งของที่ใช้กับบัฟเฟอร์ทุกประเภท) ด้วยโปรแกรมจัดการปลั๊กอินเช่น Vundle สิ่งนี้จะเพิ่มขึ้นเป็นบรรทัดเดียว ~/.vimrc และคำสั่งเดียว; ฉันไม่คิดว่ามันจะง่ายกว่านี้อีกแล้ว

กับ AUTOLOAD กลไกที่แนะนำใน Vim 7 ปลั๊กอินจำเป็นต้องกำหนดค่า autocmds การจับคู่และคำสั่งเท่านั้น plugin/<name>.vimการใช้งานจริงที่ยาวนานนั้นได้รับการจัดหาตามความต้องการเมื่อใช้ครั้งแรก นี่คือพันธมิตรที่ดีที่สุดของคุณในการลดค่าใช้จ่ายในการเริ่มต้นเป็นกลุ่ม

แทนที่จะประดิษฐ์รูปแบบการจัดการแพคเกจที่ซับซ้อนอื่น ๆ (ซึ่งทำให้ผู้ใช้สับสนกับข้อตกลงใหม่อย่างสม่ำเสมอ) ดูคำถามมากมายเกี่ยวกับการแจกแจงเช่น SPF-13 และ เจนัส ) การใช้ชุดรูปแบบที่สอดคล้องกันอย่างสม่ำเสมอควรจะสามารถทำให้ Vim startup และขยายตัวได้อย่างไม่มีปัญหาและจะเป็นประโยชน์ต่อผู้ใช้ปลั๊กอินทั้งหมด

Vim "ดิสทริบิวชัน" ล่อใจคุณด้วยการติดตั้งอย่างรวดเร็วและออกจากการตั้งค่ากล่อง แต่คุณจ่ายราคาด้วยความซับซ้อนที่เพิ่มขึ้น (คุณต้องเข้าใจทั้งรูปแบบการโหลดรันไทม์ของ Vim และระเบียบการแจกจ่ายโดยพล บางสิ่งง่ายขึ้น แต่สิ่งอื่น ๆ ยากมาก) Vim สามารถปรับแต่งได้อย่างไม่น่าเชื่อโดยใช้การปรับแต่งของคนอื่นไม่สมเหตุสมผล


ฉันฟุ้งซ่านจากการเขียนคำตอบของฉันและฉันจะเห็นอะไรเมื่อฉันกลับมาที่ textfield คำตอบเดียวกันที่แน่นอนเขียนโดย Ingo Karkat
romainl

1
@ ฉีด: ผลกระทบนั้นอาจเป็นเพราะความจริงที่ว่าฉันได้นำข้อโต้แย้งของคุณบางส่วนกับการกระจาย Vim ... อย่างใดฉันรู้ว่าคุณจะดึงดูดคำถามนี้; ฉันดีใจที่คุณเห็นด้วยกับคำตอบของฉัน :-)
Ingo Karkat

ขอบคุณสำหรับคำตอบ. Vimified เป็นเพียงบางสิ่งบางอย่างสำหรับผู้เริ่มต้นเป็นกลุ่มและเป็นความคิดเพื่อวัตถุประสงค์ทั่วไปด้วยวิธีที่ง่ายมากที่จะขยาย / เปลี่ยนแปลง นอกเหนือจากจุดนี้ฉันไม่ใช่คนอังกฤษโดยกำเนิดดังนั้นฉันไม่แน่ใจว่าฉันเข้าใจองค์ประกอบทั้งหมดที่คุณชี้ชัดเจน ฉันผิดหรือไม่สามารถโหลดปลั๊กอินที่สามตามส่วนขยายไฟล์ของบัฟเฟอร์ปัจจุบันยกเว้นว่าหวังว่าแต่ละปลั๊กอินจะโหลดเมื่อจำเป็นเท่านั้น เนื่องจากดูแหล่งที่มาของ Vundle ดูเหมือนว่าจะอัปเดต rtp สำหรับแต่ละปลั๊กอินที่ติดตั้ง ฉันผิดทั้งหมดหรือเปล่า
Adrien

1
@AdrienGiboire, Ingo, moi and quelques autres pensons que que ce de de distau mauvaise pour les débutants et que, notamment, configur vim fait partie intégrante de l'apprentissage ถ้าเช่นนั้น, สิ่งที่มีอยู่ก็คือการ จำกัด จำนวนของ l'impact des plugins ที่อยู่ในรูปของ lancement และเป็นผู้รับผิดชอบต่อการใช้งานของผู้ใช้. หากคุณไม่ได้ติดตั้งปลั๊กอิน, ปิด HTML, ส่งข้อความ ftplugin/html.vim c'est une bonne raison de ne pas l'utiliser
romainl

@romainl: Merci :) นั่นคือสิ่งที่ฉันเข้าใจแล้ว แม้ว่าที่จริงแล้วผู้เขียนควรทำอย่างใดอย่างหนึ่งไม่มีทางเลือกแล้ว?
Adrien
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.