ฉันจะ "จัดหา" บางสิ่งในไฟล์. vimrc ของฉันได้อย่างไร


99

ฉันได้ทำการขยาย vim-foo ของฉันเมื่อเร็ว ๆ นี้และฉันได้พบกับปลั๊กอินสองสามตัว ( เช่นautotag.vim ) ที่ต้องการให้พวกมันเป็น "แหล่งที่มา" ในไฟล์. vimrc ของฉัน นี่หมายความว่าอย่างไรและฉันจะทำอย่างไร?

คำตอบ:


120

การจัดหาไฟล์คือ 'ดำเนินการ' มัน โดยพื้นฐานแล้วแต่ละบรรทัดของไฟล์ถือเป็นคำสั่ง การจัดหาจะเหมือนกับการพิมพ์แต่ละคำสั่งตามลำดับ คุณแหล่งที่มาด้วยคำสั่ง: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

2
อะไรso!ทำอย่างไร ฉันวิ่งมันเพราะฉันคิดว่ามันจะบังคับใช้ทรัพยากรของฉัน.vimrcและมันก็เริ่มเดินผ่านไฟล์ที่ฉันกำลังแก้ไข (ของฉัน.vimrc) และกำลังเยื้องอึด้วยวิธีแปลก ๆ และมีสิ่งแปลก ๆ เกิดขึ้นทุกประเภท
Alexej Magura

2
มันเรียกใช้ไฟล์ในโหมด "ปกติ" (กล่าวคือจะเกิดอะไรขึ้นถ้าคุณไม่ได้เพิ่ม ":" ไว้ข้างหน้า)
Andrew Miner

44

ไฟล์ในไดเร็กทอรี. vim / plugin ของคุณมีที่มา (โหลด) โดยอัตโนมัติ


7
นอกจากนี้ชื่อไฟล์จะต้องลงท้ายด้วย. vim
framing

ใช่ แต่เพียงครั้งเดียวต่อการเริ่มต้นใช่ไหม? เมื่อคุณเปิด terminal / powershell หรือเมื่อคุณใช้คำสั่ง vim เพื่อแก้ไขไฟล์บางไฟล์
3pitt

@ 3pitt AFAIK ทุกครั้งที่เรียกใช้คำสั่ง vim
Thaddaeus Markle

12

มีคำสั่ง: source fileเสมอ ฉันมักจะเขียน.vimrcว่ามีคำสั่งที่กำหนดเองและสิ่งที่ไม่ใช่สำหรับแอปพลิเคชันคอนโซลและคำสั่ง.gvimrcที่มีสินค้าเพิ่มเติมที่เหมาะสมสำหรับเวอร์ชันที่มีหน้าต่าง ของฉัน.gvimrcเริ่มต้นด้วยsource $HOME/.vimrcการเลือกทุกอย่างจากเวอร์ชันคอนโซลก่อนที่จะเพิ่มสิ่งใหม่ ๆ


vim เวอร์ชันของฉันอย่างน้อยก็ซอร์ส. vimrc ทั้งหมดตลอดเวลา แน่ใจหรือว่าต้องการแหล่งที่มา. vimrc
Dav Clark

@DavClark: ดูเหมือนว่าคุณอาจจะพูดถูก ฉันทำแบบนี้มานานแล้วและไม่เคยคิดเรื่องนี้ซ้ำสอง ไฟล์ช่วยเหลือระบุว่าไม่จำเป็นอย่างแน่นอน ... อืมม
D.Shawley

6

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