ฉันได้ทำการขยาย vim-foo ของฉันเมื่อเร็ว ๆ นี้และฉันได้พบกับปลั๊กอินสองสามตัว ( เช่นautotag.vim ) ที่ต้องการให้พวกมันเป็น "แหล่งที่มา" ในไฟล์. vimrc ของฉัน นี่หมายความว่าอย่างไรและฉันจะทำอย่างไร?
ฉันได้ทำการขยาย vim-foo ของฉันเมื่อเร็ว ๆ นี้และฉันได้พบกับปลั๊กอินสองสามตัว ( เช่นautotag.vim ) ที่ต้องการให้พวกมันเป็น "แหล่งที่มา" ในไฟล์. vimrc ของฉัน นี่หมายความว่าอย่างไรและฉันจะทำอย่างไร?
คำตอบ:
การจัดหาไฟล์คือ 'ดำเนินการ' มัน โดยพื้นฐานแล้วแต่ละบรรทัดของไฟล์ถือเป็นคำสั่ง การจัดหาจะเหมือนกับการพิมพ์แต่ละคำสั่งตามลำดับ คุณแหล่งที่มาด้วยคำสั่ง:source
(มักจะลงไป:so
)
ดังนั้นถ้าคุณมา myStuff.vim
:so myStuff.vim
และถ้าmyStuff.vim
มีบรรทัดเหล่านี้
set xx iI just intersted this<C-]>
set yy bbbb4dw
เหมือนกับว่าคุณพิมพ์คำสั่งเหล่านั้นลงใน Vim
:set xx iI just intersted this<C-]>
:set yy bbbb4dw
ไฟล์เดียวที่มาตามค่าเริ่มต้นคือ.vimrc
( _vimrc
บน windows) ดังนั้นจึงเป็นที่ที่คุณสามารถเก็บคำสั่งทั้งหมดที่คุณใช้ในการตั้งค่า Vim ได้ทุกครั้ง
สิ่งที่น่าสนใจคือความจริงที่ว่าเนื่องจากไฟล์ที่มาเป็นเพียงชุดคำสั่งและการจัดหาเป็นคำสั่งคุณสามารถซอร์สไฟล์จากไฟล์ต้นทางของคุณได้ ดังนั้นปลั๊กอินที่คุณใช้ทุกครั้งจึงสามารถหาแหล่งที่มาได้เมื่อคุณเริ่มต้น Vim โดยเพิ่มบรรทัดลงใน.vimrc
แบบนี้
so myPlugin.vim
ไฟล์ในไดเร็กทอรี. vim / plugin ของคุณมีที่มา (โหลด) โดยอัตโนมัติ
มีคำสั่ง: source fileเสมอ ฉันมักจะเขียน.vimrc
ว่ามีคำสั่งที่กำหนดเองและสิ่งที่ไม่ใช่สำหรับแอปพลิเคชันคอนโซลและคำสั่ง.gvimrc
ที่มีสินค้าเพิ่มเติมที่เหมาะสมสำหรับเวอร์ชันที่มีหน้าต่าง ของฉัน.gvimrc
เริ่มต้นด้วยsource $HOME/.vimrc
การเลือกทุกอย่างจากเวอร์ชันคอนโซลก่อนที่จะเพิ่มสิ่งใหม่ ๆ
โดยปกติจะมีไฟล์ vimrc สองไฟล์หนึ่งไฟล์คือ _vimrc และอีกไฟล์ _gvimrc (ในไฟล์แรกเป็นไฟล์สำหรับกลุ่มและไฟล์ที่สองสำหรับ gvim - กราฟิก) - แม้ว่าคนส่วนใหญ่ที่ฉันรู้จักจะใส่ทุกอย่างใน _vimrc
แนวทางปฏิบัติที่ดีคือเก็บไฟล์พิเศษทั้งหมดของคุณ (ปลั๊กอิน, colorchemes, ตัวอย่าง ... ) ไว้ในไดเร็กทอรี vimfiles (ของคุณเอง) แยกต่างหาก (ซึ่งคุณสามารถนำติดตัวไปได้)
ถ้าคุณทำ
:help vimfiles
กลุ่มจะบอกไดเร็กทอรี vimfiles ของคุณควรอยู่ มันขึ้นอยู่กับแพลตฟอร์ม (win, unix) ใน Windows ปกติจะอยู่ในโฟลเดอร์ผู้ใช้ของคุณ (เอกสารและการตั้งค่าจากนั้นผู้ใช้ ... ) ในไดเร็กทอรี vimfiles มีไดเร็กทอรีย่อยสองสามไดเร็กทอรี ในบรรดาไดเร็กทอรีย่อย "ปลั๊กอิน" ปลั๊กอินที่ใส่ใน dir นั้นจะถูกโหลดโดยอัตโนมัติ (รวมถึงปลั๊กอินที่ใส่ในไดเรกทอรีย่อยของ "ปลั๊กอิน") หากคุณไม่ต้องการโหลดโดยอัตโนมัติให้ใส่ไว้ใน "vimfiles" ของคุณหรือไดเรกทอรีอื่น ๆ และ
:so plugin_name.vim (with the appropriate path)
(you can use the $vim, $vimfiles, and $home as shortcuts when defining path to plugin)
so!
ทำอย่างไร ฉันวิ่งมันเพราะฉันคิดว่ามันจะบังคับใช้ทรัพยากรของฉัน.vimrc
และมันก็เริ่มเดินผ่านไฟล์ที่ฉันกำลังแก้ไข (ของฉัน.vimrc
) และกำลังเยื้องอึด้วยวิธีแปลก ๆ และมีสิ่งแปลก ๆ เกิดขึ้นทุกประเภท