ฉันเห็นหนึ่งในสองบรรทัดนี้ใน.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
เพื่อแสดงการตั้งค่าประเภทไฟล์