vim: forza una sintassi specifica tramite argomento della riga di comando


17

Quando voglio leggere facilmente il mio schema PostgreSQL, lo scarico stderre lo reindirizzo a vim:

pg_dump -h localhost -U postgres dog_food --schema-only | vim -

Questo da:

inserisci qui la descrizione dell'immagine

vim non ha uno schema di evidenziazione della sintassi, perché non ha estensione di file durante la lettura da stdin, quindi utilizzo quanto segue:

:set syntax=sql

Che dà:

inserisci qui la descrizione dell'immagine

Essendo lo sviluppatore pigro che sono, vorrei forzare viml'uso della sintassi SQL passando un argomento della riga di comando, salvandomi il coro di riscrivere set syntax=<whatever>ogni volta che lo apro con i stdindati.

C'è un modo per impostare la vimsintassi passando un argomento della riga di comando?

Risposte:


23

Puoi usare:

vim -c 'set syntax=sql' -

2
Nota: Funziona per me anche senza i due punti nel comando.
Murphy

1
Variante più breve:vim '+set syn=sql' -
Stéphane Chazelas

5
In genere stai meglio usando set filetype=sql(o ft=sqlin breve); che caricherà anche i file di rientro e simili e non solo l'evidenziazione della sintassi ...
Martin Tournoij


1

Puoi persino automatizzarlo inserendo il comando nel tuo ~/.vimrc:

augroup filetype
  au! StdinReadPre * set filetype=sql
augroup END
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.