อะไรคือความแตกต่างระหว่าง `filetype indent on` และ` filetype indent on`?


38

ฉันเห็นหนึ่งในสองบรรทัดนี้ใน.vimrcไฟล์ อันนี้ดูเหมือนจะเป็นเรื่องธรรมดาที่สุด:

filetype plugin indent on

แต่มันแตกต่างจากบรรทัดนี้อย่างไร:

filetype indent on

ฉันพบเอกสารสำหรับหลังแต่ฉันยังสับสนอยู่


2
เคล็ดลับด้าน: คุณสามารถทำได้:filetypeเพื่อแสดงการตั้งค่าประเภทไฟล์
wisbucky

คำตอบ:


46

filetype plugin indent on เป็นเหมือนการรวมกันของคำสั่งเหล่านี้:

filetype on
filetype plugin on
filetype indent on

มันเปิด "การตรวจจับ", "ปลั๊กอิน" และ "เยื้อง" ในครั้งเดียว :help :filetype-overviewคุณสามารถตรวจสอบตัวเองโดยการอ่าน

การตรวจพบ

"การตรวจจับ" ประเภทไฟล์ทำอะไรได้บ้าง จากเอกสาร:

ทุกครั้งที่มีการแก้ไขไฟล์ใหม่หรือไฟล์ที่มีอยู่ Vim จะพยายามจำแนกประเภทของไฟล์และตั้งค่าตัวเลือก 'filetype' สิ่งนี้จะทริกเกอร์เหตุการณ์ FileType ซึ่งสามารถใช้เพื่อตั้งค่าการเน้นไวยากรณ์การตั้งค่าตัวเลือก ฯลฯ

สิ่งนี้จะสับสนน้อยกว่าหากคุณทราบว่าfiletypeคำสั่งนั้นแตกต่างจากfiletypeตัวเลือก (คำสั่ง:filetype...ตัวเลือก: :set filetype...)

เสียบเข้าไป

ส่วน "ปลั๊กอิน" ทำหน้าที่อะไร? จากเอกสาร:

นี่เป็นการโหลดไฟล์ "ftplugin.vim" ใน 'runtimepath'

ผลลัพธ์คือเมื่อไฟล์ถูกแก้ไขไฟล์ปลั๊กอินจะถูกโหลด (หากมีไฟล์สำหรับไฟล์ที่ตรวจพบ)

ไฟล์ที่กำลังโหลดไม่จำเป็นต้องตั้งชื่อftplugin.vimมันอาจจะเป็นftplugin/html_example.vimเช่น

ย่อหน้า

ส่วน "เยื้อง" ทำอะไรได้บ้าง จากเอกสาร:

นี่เป็นการโหลดไฟล์ "indent.vim" ใน 'runtimepath'

ผลลัพธ์คือเมื่อไฟล์ถูกแก้ไขไฟล์เยื้องจะถูกโหลด (หากมีไฟล์สำหรับไฟล์ที่ตรวจพบ) เยื้องแสดงออก

อีกครั้งไฟล์อาจไม่ได้ตั้งชื่อindent.vimมันอาจมีชื่อindent/html_example.vimเช่น


1
เพื่อให้ชัดเจนชื่อของไฟล์ควรสอดคล้องกับ 'filetype' ซึ่งกำลังจะถูกเปิดใช้งานเช่น<type>/foobar.vim(ไดเรกทอรีย่อยต่อประเภทไฟล์) <type>_foobar.vimหรือเพียง<type>.vimที่ <type> สอดคล้องกับประเภทไฟล์จริง
Christian Brabandt
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.