Як встановити тип файлу vim під час редагування файлів конфігурації nginx


17

Коли я відкриваю vim для файлу типу /etc/nginx/sites-available/default, виділення синтаксису працює чудово. Але тоді, якщо я створюю власний файл /etc/nginx/sites-available/myapp, vim не виділяє його синтаксис. Я маю робити :setf confщоразу.

Чи можу я щось ~/.vimrcсказати vim, "якщо ви не знаєте, який синтаксис використовувати, просто використовуйте conf"?

.vimrcШаблон для ВІМ нуб також вітається. Я не використовую його як IDE, я використовую vim здебільшого лише для конфігураційних файлів.

Примітка. Я використовую Ubuntu 12, якщо це важливо.


Я змінив вашу назву, щоб більш точно відобразити те, що ви намагаєтеся зробити, і повторно задав тут питання, оскільки це може бути корисним у загальному випадку: serverfault.com/a/390801/2101
MikeyB

@MikeyB Я не знав і не піклувався про "файлові типи", наскільки я знав, що Вім міг би робити виділення синтаксису, просто переглянувши код і відгадавши мову. І головна частина проблеми полягала в тому, що я хотів, щоб це було «за замовчуванням». Я вже знав, як "встановити мову / тип файлу під час редагування". Крім того, чи це для nginx чи щось інше, не має значення. Робіть так, як хочете, я ніколи не розумів, чому серверні люди вирішують закрити або редагувати питання (можливо для SEO?). Якщо граматично неправильно, оригінальна назва відображала мою проблему.
HappyDeveloper

3
можливо цікаво: vim.org/scripts/script.php?script_id=1886 (я використовую це, і це дуже приємно, додайте # vim:syn=nginxвнизу
конфігурації

@HappyDeveloper: причина, яку я відредагував, полягала в тому, що ваша прийнята відповідь вказує на "О, я справді намагався це зробити". Тепер майбутні відвідувачі зможуть шукати "тип файлу vim за замовчуванням" або "синтаксис vim за замовчуванням" і отримати правильну відповідь на це, а не засмучуватися, оскільки прийнята відповідь не говорить про те, як виконати назву питання. Плюс, тепер ви також знаєте, як встановити тип файлу за замовчуванням :)
MikeyB

@MikeyB Новий заголовок навіть не використовує слово "за замовчуванням". Оригінальний зробив.
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 забезпечує краще виділення синтаксису, ніж confтип файлу. Якщо ви використовуєте Vundle, спробуйте Plugin 'vim-scripts/nginx.vim'.
Адам Монсен

Для всіх файлів .conf я поставив команду так:autocmd BufRead,BufNewFile *.conf setfiletype conf
Ерен Йілмаз

26

Насправді тип файлу Nginx визначений в офіційному сховищі Nginx в каталозі contrib / vim . Він забезпечує кращу підсвічування синтаксису, ніж конф .

Щоб скористатися ним, скопіюйте рядки виявлення на ваш .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 / syntax .

Усі файли Nginx, що дотримуються вищевказаних правил, тепер слід виділити.

Якщо ви також бажаєте відступ, ви можете також скопіювати файл із каталогу відступів у свій .vimrc .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.