Come impostare il tipo di file vim durante la modifica dei file di configurazione di nginx


17

Quando apro vim per un file come /etc/nginx/sites-available/default, l'evidenziazione della sintassi funziona bene. Ma poi se creo il mio file /etc/nginx/sites-available/myapp, vim non evidenzia la sua sintassi. Devo fare :setf confogni volta.

C'è qualcosa che posso mettere ~/.vimrcper dire a Vim "se non sai quale sintassi usare, basta usare conf"?

Un .vimrcmodello per un vim noob è anche il benvenuto. Non lo sto usando come IDE, uso vim principalmente per i file di configurazione.

Nota: sto usando Ubuntu 12, nel caso in cui sia importante.


Ho cambiato il tuo titolo per riflettere più accuratamente ciò che stai cercando di fare e ho fatto di nuovo la domanda qui, poiché ciò può essere utile nel caso generale: serverfault.com/a/390801/2101
MikeyB

@MikeyB Non sapevo né mi importava dei 'tipi di file', per quanto sapevo che Vim avrebbe potuto fare l'evidenziazione della sintassi solo guardando il codice e indovinando la lingua. E la parte principale del problema era che volevo che fosse "di default". Sapevo già come "impostare la lingua / il tipo di file durante la modifica". Inoltre, sia per nginx che per qualsiasi altra cosa, è irrilevante. Fai come vuoi, non ho mai capito perché le persone serverfault decidano di chiudere o modificare le domande (forse per il SEO?). A meno che non sia grammaticalmente errato, il titolo originale rifletteva il mio problema.
HappyDeveloper,

3
forse interessante: vim.org/scripts/script.php?script_id=1886 (lo uso ed è abbastanza carino, aggiungo un # vim:syn=nginxin fondo alle
configurazioni

@HappyDeveloper: il motivo per cui l'ho modificato è stato che la tua risposta accettata indica "Oh, stavo davvero cercando di farlo." Ora i futuri visitatori saranno in grado di cercare 'filetype vim predefinito' o 'sintassi vim predefinita' e ottenere la risposta corretta per quello invece di sentirsi frustrati poiché la risposta accettata non dice come ottenere il titolo della domanda. Inoltre, ora sai anche come impostare il tipo di file predefinito :)
MikeyB,

@MikeyB Il nuovo titolo non usa nemmeno la parola 'default'. Quello originale ha fatto.
HappyDeveloper,

Risposte:


26

La seguente riga in ~/.vimrcdovrebbe fare questo.

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

leggera correzione autocmd BufRead, BufNewFile / etc / nginx / sites- / setfiletype conf

1
vim.org/scripts/script.php?script_id=1886 offre una migliore evidenziazione della sintassi rispetto al tipo di conffile. Se usi Vundle, prova Plugin 'vim-scripts/nginx.vim'.
Adam Monsen,

Per tutti i file .conf, ho inserito il comando in questo modo:autocmd BufRead,BufNewFile *.conf setfiletype conf
Eren Yilmaz,

26

Esiste in realtà un tipo di file Nginx definito nel repository Nginx ufficiale nella directory contrib / vim . Fornisce una migliore evidenziazione della sintassi rispetto a conf .

Per usarlo, copia le linee di rilevamento sul tuo .vimrc (e modifica come desiderato):

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

Quindi copia nginx.vim nella directory ~ / .vim / syntax .

Tutti i file Nginx che seguono le regole sopra dovrebbero ora essere evidenziati.

Se desideri inserire anche il rientro, puoi anche copiare il file dalla directory del rientro nel tuo .vimrc .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.