วิธีการตั้งค่าประเภทไฟล์เมื่อแก้ไขไฟล์ nginx config


17

เมื่อฉันเปิดเป็นกลุ่มสำหรับไฟล์ที่ชอบการ/etc/nginx/sites-available/defaultเน้นไวยากรณ์ทำงานได้ดี แต่ถ้าฉันสร้างไฟล์ของตัวเอง/etc/nginx/sites-available/myappเป็นกลุ่มจะไม่เน้นไวยากรณ์ของมัน ฉันต้องทำ:setf confทุกครั้ง

มีสิ่งใดบ้างที่ฉันสามารถ~/.vimrcบอกเป็นโมฆะ "ถ้าคุณไม่ทราบว่าจะใช้ไวยากรณ์ใดใช้conf"?

.vimrcแม่แบบสำหรับกลุ่ม Noob ยังมีการต้อนรับ ฉันไม่ได้ใช้มันเป็น IDE ฉันใช้ vim เป็นส่วนใหญ่สำหรับไฟล์ปรับแต่งเท่านั้น

หมายเหตุ: ฉันใช้ Ubuntu 12 ในกรณีที่สำคัญ


ฉันเปลี่ยนชื่อของคุณให้ถูกต้องมากขึ้นสะท้อนถึงสิ่งที่คุณพยายามทำและถามคำถามใหม่ที่นี่เนื่องจากจะมีประโยชน์ในกรณีทั่วไป: serverfault.com/a/390801/2101
MikeyB

@ MikeyB ฉันไม่ทราบหรือไม่สนใจ 'filetypes' เท่าที่ฉันรู้ว่าเสียงเรียกเข้าอาจทำให้การเน้นไวยากรณ์โดยเพียงแค่ดูรหัสและคาดเดาภาษา และส่วนหลักของปัญหาคือฉันต้องการให้เป็น 'โดยค่าเริ่มต้น' ฉันรู้วิธีตั้งค่าภาษา / ประเภทไฟล์เมื่อทำการแก้ไข นอกจากนี้ไม่ว่าจะสำหรับ nginx หรืออย่างอื่นไม่เกี่ยวข้อง ทำตามที่ฉันต้องการฉันไม่เคยเข้าใจว่าทำไมคนที่ผิดพลาดในเซิร์ฟเวอร์ตัดสินใจปิดหรือแก้ไขคำถาม (สำหรับ SEO อาจ) ชื่อดั้งเดิมแสดงถึงปัญหาของฉันเว้นแต่ว่าไม่ถูกต้องตามหลักไวยากรณ์
HappyDeveloper

3
อาจเป็นที่น่าสนใจ: vim.org/scripts/script.php?script_id=1886 (ฉันใช้มันและมันก็สวยดีเพิ่ม# vim:syn=nginxที่ด้านล่างของการกำหนดค่า)
SingleNegationElimination

@HappyDeveloper: เหตุผลที่ฉันแก้ไขนั่นก็คือคำตอบที่คุณยอมรับนั้นบ่งบอกว่า "โอ้ฉันพยายามทำอย่างนั้นจริงๆ" ตอนนี้ผู้เยี่ยมชมในอนาคตจะสามารถค้นหา 'default vim filetype' หรือ 'default vim syntax' และรับคำตอบที่ถูกต้องสำหรับสิ่งนั้นแทนที่จะรู้สึกหงุดหงิดเนื่องจากคำตอบที่ยอมรับไม่ได้บอกว่าจะตอบคำถามได้อย่างไร พลัสตอนนี้คุณทราบวิธีการตั้งค่าเริ่มต้น filetype :)
MikeyB

@MikeyB ชื่อใหม่ไม่ได้ใช้คำว่า 'default' หนึ่งเดิมได้
HappyDeveloper

คำตอบ:


26

บรรทัดต่อไปนี้~/.vimrcควรทำสิ่งนี้

autocmd BufRead,BufNewFile /etc/nginx/sites-*/* setfiletype conf

การแก้ไขเล็กน้อย autocmd BufRead, BufNewFile / etc / nginx / sites- / setfiletype conf

1
vim.org/scripts/script.php?script_id=1886ให้การเน้นไวยากรณ์ที่ดีกว่าconffiletype ถ้าคุณใช้ Vundle Plugin 'vim-scripts/nginx.vim'ลอง
Adam Monsen

สำหรับไฟล์. config ทั้งหมดฉันใช้คำสั่งดังนี้:autocmd BufRead,BufNewFile *.conf setfiletype conf
Eren Yilmaz

26

จริงๆแล้วมีประเภทไฟล์ Nginx ที่กำหนดไว้ในที่เก็บ Nginx อย่างเป็นทางการในไดเรกทอรีcontrib / vim มันให้เน้นไวยากรณ์ดีกว่าconf

หากต้องการใช้งานให้คัดลอกบรรทัดการตรวจจับไปยัง. vimrcของคุณ(และปรับแต่งตามต้องการ):

au BufRead,BufNewFile *.nginx set ft=nginx
au BufRead,BufNewFile */etc/nginx/* set ft=nginx
au BufRead,BufNewFile */usr/local/nginx/conf/* set ft=nginx
au BufRead,BufNewFile nginx.conf set ft=nginx

จากนั้นคัดลอกnginx.vimที่คุณ~ / .vim / ไวยากรณ์ไดเรกทอรี

ไฟล์ Nginx ทั้งหมดที่ปฏิบัติตามกฎข้างต้นควรถูกเน้นไว้ในตอนนี้

หากคุณต้องการเยื้องได้เป็นอย่างดีนอกจากนี้คุณยังสามารถคัดลอกไฟล์จากไดเรกทอรีเยื้องลงใน.vimrc

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