. vimrc สามารถแบ่งออกเป็นหลายไฟล์ได้หรือไม่?


11

สมมติว่าฉันมีการแมปซ้ำอีกหลายร้อยแบบที่กำหนดเองiabสำหรับ Java และการแมปอีกหนึ่งร้อยหรือมากกว่านั้นสำหรับ Haskell จากนั้นฉันต้องการแบ่งสิ่งเหล่านี้ออกเป็นไฟล์ต่าง ๆ เพื่อให้จัดการได้ง่ายขึ้น สิ่งที่ฉันกำลังมองหาคือการสร้างสิ่งนี้:

~/.
 ├── .vimrc
 └── .vim
     └── custom
         ├── java.vim
         └── haskell.vim

ที่. vimrc อาจมีหน้าตาเป็นอย่างไร

import java
import haskell

เป็นเช่นนี้เป็นไปได้ที่จะทำหรือฉันเพิ่งจะสรุปสิ่งต่าง ๆ ? ฉันเดาว่าสิ่งที่ฉันพยายามทำให้ได้คือสิ่งที่ LaTeX ทำด้วย\inputคำสั่ง ...


2
มีเหตุผลที่คุณไม่ใส่สิ่งเหล่านี้~/.vim/after/ftplugin/$language.vimหรือไม่
wchargin

1
ไม่จริงเหรอ สิ่งที่ควรจะเข้าไปข้างในafter/ftplugin?
lindhe

2
หากคุณเขียนไฟล์ชื่อเช่นไฟล์~/.vim/after/ftplugin/java.vimนั้นจะถูกเรียกใช้โดยอัตโนมัติทุกครั้งที่คุณเปิดjavaไฟล์ นี่เป็นสิ่งที่คุณต้องการ
wchargin

คำตอบ:


5

คุณกำลังมองหา ftplugins นี่คือจุดประสงค์ของพวกเขา

และอย่าลืมกำหนดการแมปการตั้งค่าตัวย่อคำสั่ง ... เป็นภาษาท้องถิ่น มิฉะนั้นพวกเขาจะปรสิตบัฟเฟอร์อื่น ๆ เมื่อโหลด

ต่อไปนี้เป็นคำตอบที่สมบูรณ์ยิ่งขึ้น:


11

ใช่คำสั่ง vim ที่คุณต้องการคือ:sourceหรือ:runtimeดึงออกruntimepathมา

ตัวอย่างเช่นคุณสามารถทำได้ใน.vimrc:

runtime custom/java.vim
runtime custom/haskell.vim

สันนิษฐานว่า~/.vimอยู่ในของคุณruntimepath(ซึ่งเป็นค่าเริ่มต้น)

คุณสามารถวางสคริปต์ใน~/.vim/pluginไดเรกทอรี ดูเขียนปลั๊กอินในเอกสาร Vim จะเรียกใช้สคริปต์ทั้งหมดในไดเรกทอรีปลั๊กอินโดยอัตโนมัติ


เย็น. มีแบบแผนการตั้งชื่อสำหรับสิ่งที่ฉันเรียกที่นี่customซึ่งไม่ได้ค่อนข้างปลั๊กอิน แต่ค่อนข้างไฟล์ที่อาจจะมีอยู่ใน.vimrc?
Linde

1
@ Lindh-E ไม่ใช่ว่าฉันรู้ คุณอาจต้องการใช้สิ่งที่คุณมั่นใจว่าจะไม่ได้รับความหมายจากเวอร์ชัน vim ในอนาคต เนื่องจากพวกเขาพยายามที่จะเข้ากันได้กับชื่อไฟล์ 8.3 ฉันจึงแนะนำชื่อไดเรกทอรี> 8 ตัวอักษร
Derobert
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.