ฉันเห็นหนึ่งในสองบรรทัดนี้ใน.vimrcไฟล์ อันนี้ดูเหมือนจะเป็นเรื่องธรรมดาที่สุด:
filetype plugin indent on
แต่มันแตกต่างจากบรรทัดนี้อย่างไร:
filetype indent on
ฉันพบเอกสารสำหรับหลังแต่ฉันยังสับสนอยู่
ฉันเห็นหนึ่งในสองบรรทัดนี้ใน.vimrcไฟล์ อันนี้ดูเหมือนจะเป็นเรื่องธรรมดาที่สุด:
filetype plugin indent on
แต่มันแตกต่างจากบรรทัดนี้อย่างไร:
filetype indent on
ฉันพบเอกสารสำหรับหลังแต่ฉันยังสับสนอยู่
คำตอบ:
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เช่น
<type>/foobar.vim(ไดเรกทอรีย่อยต่อประเภทไฟล์) <type>_foobar.vimหรือเพียง<type>.vimที่ <type> สอดคล้องกับประเภทไฟล์จริง
:filetypeเพื่อแสดงการตั้งค่าประเภทไฟล์