Jak ustawić typ pliku vim podczas edycji plików konfiguracyjnych nginx


17

Kiedy otwieram vima dla takiego pliku /etc/nginx/sites-available/default, podświetlanie składni działa dobrze. Ale jeśli utworzę własny plik /etc/nginx/sites-available/myapp, vim nie podkreśla jego składni. Muszę to robić za :setf confkażdym razem.

Czy jest coś, co mogę włożyć, ~/.vimrcaby powiedzieć vimowi „jeśli nie wiesz, jakiej składni użyć, po prostu użyj conf”?

.vimrcSzablon dla vim noobem jest również mile widziane. Nie używam go jako IDE, używam vima głównie do plików konfiguracyjnych.

Uwaga: używam Ubuntu 12, na wypadek, gdyby miało to znaczenie.


Zmieniłem twój tytuł, aby dokładniej odzwierciedlał to, co próbujesz zrobić, i ponownie zadałem pytanie tutaj, ponieważ może to być przydatne w ogólnym przypadku: serverfault.com/a/390801/2101
MikeyB

@MikeyB Nie wiedziałem ani nie przejmowałem się „typami plików”, o ile wiedziałem, że vim mógł wyróżniać składnię, po prostu patrząc na kod i zgadując język. Główną częścią problemu było to, że chciałem, aby był to „domyślnie”. Wiedziałem już, jak „ustawić język / typ pliku podczas edycji”. Nie ma znaczenia, czy dotyczy to Nginx czy czegokolwiek innego. Rób, co chcesz, nigdy nie rozumiałem, dlaczego ludzie z błędami serwera decydują się na zamknięcie lub edycję pytań (może dla SEO?). O ile nie gramatycznie niepoprawny, oryginalny tytuł odzwierciedlał mój problem.
HappyDeveloper

3
być może interesujące: vim.org/scripts/script.php?script_id=1886 (Używam go i jest całkiem fajny, dodaję # vim:syn=nginxna dole konfiguracji)
SingleNegationElimination

@HappyDeveloper: powodem, dla którego edytowałem, było to, że zaakceptowana odpowiedź wskazuje: „Naprawdę próbowałem to zrobić”. Teraz przyszli goście będą mogli wyszukiwać „domyślny typ pliku vim” lub „domyślną składnię vim” i uzyskać poprawną odpowiedź na to pytanie, zamiast się denerwować, ponieważ zaakceptowana odpowiedź nie mówi, jak uzyskać tytuł pytania. Plus, teraz już wiesz, jak ustawić domyślny
typ

@MikeyB Nowy tytuł nawet nie używa słowa „default”. Pierwotny tak.
HappyDeveloper

Odpowiedzi:


26

~/.vimrcPowinien to zrobić następujący wiersz .

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

niewielka korekta autocmd BufRead, BufNewFile / etc / nginx / sites- / setfiletype conf

1
vim.org/scripts/script.php?script_id=1886 zapewnia lepsze wyróżnianie składni niż typconf pliku. Jeśli używasz Vundle, spróbuj Plugin 'vim-scripts/nginx.vim'.
Adam Monsen

Dla wszystkich plików .conf wstawiam polecenie w następujący sposób:autocmd BufRead,BufNewFile *.conf setfiletype conf
Eren Yilmaz

26

W oficjalnym repozytorium Nginx w katalogu contrib / vim istnieje typ pliku Nginx . Zapewnia lepsze podświetlanie składni niż conf .

Aby go użyć, skopiuj linie wykrywające do swojego .vimrc (i odpowiednio dostosuj):

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

Następnie skopiuj nginx.vim do katalogu ~ / .vim / syntax .

Wszystkie pliki Nginx zgodne z powyższymi zasadami powinny być teraz podświetlone.

Jeśli chcesz również wcięcia, możesz również skopiować plik z katalogu wcięć do swojego .vimrc .

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.