ฉันได้ทำการขยาย 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) และกำลังเยื้องอึด้วยวิธีแปลก ๆ และมีสิ่งแปลก ๆ เกิดขึ้นทุกประเภท