Nginx yapılandırma dosyalarını düzenlerken vim dosya türünü ayarlama


17

Vim gibi bir dosya için vim açtığımda /etc/nginx/sites-available/default, sözdizimi vurgulama iyi çalışıyor. Ama sonra kendi dosyamı oluşturursam /etc/nginx/sites-available/myapp, vim sözdizimini vurgulamaz. :setf confHer seferinde yapmak zorundayım .

~/.vimrcVim'e "hangi sözdizimini kullanacağınızı bilmiyorsanız, sadece kullanın conf" diye söyleyebileceğim bir şey var mı ?

Bir .vimrcvim noob için bir şablon da kabul edilir. Bir IDE olarak kullanmıyorum, vim çoğunlukla yapılandırma dosyaları için kullanıyorum.

Not: Önemli olması durumunda Ubuntu 12 kullanıyorum.


Başlığınızı, yapmaya çalıştığınız şeyi daha doğru bir şekilde yansıtacak şekilde değiştirdim ve buradaki soruyu yeniden sordum, çünkü bu genel durumda yararlı olabilir: serverfault.com/a/390801/2101
MikeyB

@MikeyB Vim'in sadece koda bakarak ve dili tahmin ederek sözdizimi vurgulama yapabileceğini bildiğim kadarıyla 'filetipleri' bilmiyordum veya umursamıyordum. Ve sorunun ana kısmı, 'varsayılan olarak' olmasını istememdi. 'Düzenlerken dili / dosya tipini' ayarlamayı zaten biliyordum. Ayrıca, nginx veya başka bir şey için olsun, önemsizdir. İstediğiniz gibi yapın, neden serverfault insanların soruları (SEO için belki?) Dilbilgisi açısından yanlış olmadıkça orijinal başlık sorunumu yansıtıyordu.
HappyDeveloper

3
muhtemelen ilginç: vim.org/scripts/script.php?script_id=1886 ( Kullanıyorum ve oldukça güzel, # vim:syn=nginxyapılandırmaların altına bir ekle )
SingleNegationElimination 20:12

@HappyDeveloper: Bunu düzenlememin nedeni, kabul edilen cevabınızın "Oh, gerçekten bunu yapmaya çalışıyordum" u göstermesiydi. Artık gelecekteki ziyaretçiler, 'varsayılan vim dosya türü' veya 'varsayılan vim sözdizimini' arayabilecek ve kabul edilen yanıt sorunun başlığını nasıl yerine getireceğini söylemediğinden sinirli olmak yerine bunun için doğru cevabı alabilecekler. Artı, şimdi varsayılan dosya
türünü

@MikeyB Yeni başlık 'varsayılan' kelimesini bile kullanmıyor. Orijinali yaptı.
HappyDeveloper

Yanıtlar:


26

Aşağıdaki satır ~/.vimrcbunu yapmalıdır.

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

hafif düzeltme autocmd BufRead, BufNewFile / etc / nginx / sites- / setfiletype conf

1
vim.org/scripts/script.php?script_id=1886 , confdosya türünden daha iyi sözdizimi vurgulama sağlar . Vundle kullanıyorsanız, deneyin Plugin 'vim-scripts/nginx.vim'.
Adam Monsen

Tüm .conf dosyaları için komutu şu şekilde koydum:autocmd BufRead,BufNewFile *.conf setfiletype conf
Eren Yılmaz

26

Aslında , katkıda bulunan / vim dizinindeki resmi Nginx deposunda tanımlanan bir Nginx dosya türü vardır . Conf'den daha iyi sözdizimi vurgulama sağlar .

Kopyalamak Kullanmak için algılama hatları sizin için .vimrc (istendiği gibi ve çimdik):

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

Sonra kopyalamak nginx.vim sizin için ~ / .vim / sözdizimi dizinde.

Yukarıdaki kurallara uyan tüm Nginx dosyaları şimdi vurgulanmalıdır.

Siz de girintilemeyi isterseniz, ayrıca kopyalayabilirsiniz girinti dizinden dosya sizin içine .vimrc .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.