vim: wymusza specyficzną składnię za pomocą argumentu wiersza poleceń


17

Kiedy chcę łatwo odczytać mój schemat PostgreSQL, zrzucam go stderri przekierowuję na vim:

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

To daje:

wprowadź opis zdjęcia tutaj

vim nie ma schematu podświetlania składni, ponieważ nie ma rozszerzenia nazwy pliku podczas czytania ze standardowego wejścia, dlatego używam następujących elementów:

:set syntax=sql

Co daje:

wprowadź opis zdjęcia tutaj

Będąc leniwym programistą, chciałbym zmusić się vimdo użycia składni SQL, przekazując argument wiersza poleceń, oszczędzając mi chóru pisania set syntax=<whatever>na maszynie za każdym razem, gdy otwieram go stdindanymi.

Czy istnieje sposób ustawienia vimskładni poprzez przekazanie argumentu wiersza poleceń?

Odpowiedzi:


23

Możesz użyć:

vim -c 'set syntax=sql' -

2
Uwaga: Działa dla mnie nawet bez dwukropka w poleceniu.
Murphy,

1
Krótszy wariant:vim '+set syn=sql' -
Stéphane Chazelas

5
Zazwyczaj lepiej jest używać set filetype=sql(lub ft=sqlw skrócie); które również załadują pliki wcięć i takie, a nie tylko podświetlanie składni ...
Martin Tournoij


1

Możesz to nawet zautomatyzować, umieszczając polecenie w ~/.vimrc:

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