vim:コマンドライン引数による特定の構文の強制


17

PostgreSQLスキーマを簡単に読みたい場合、それをダンプしてstderrリダイレクトしvimます:

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

これは与える:

ここに画像の説明を入力してください

vim stdinから読み取るときにファイル名拡張子がないため、構文ハイライトスキーマはありません。したがって、以下を使用します。

:set syntax=sql

与えるもの:

ここに画像の説明を入力してください

私は怠zyな開発者なのでvim、コマンドライン引数を渡すことでSQL構文を強制的に使用したいと思います。データでset syntax=<whatever>開くたびに再入力する手間を省きstdinます。

vimコマンドライン引数を渡すことで構文を設定する方法はありますか?

回答:


23

次を使用できます。

vim -c 'set syntax=sql' -

2
注:コマンドにコロンがなくても機能します。
マーフィー

1
短いバリアント:vim '+set syn=sql' -
ステファンChazelas

5
通常は、set filetype=sql(またはft=sql略して)を使用する方が適切です。それはまた...インデントファイルと、そのようなだけでなく、構文の強調表示をロードします
マーティンTournoij


1

次のコマンドをコマンドに追加することで、それを自動化することもできます~/.vimrc

augroup filetype
  au! StdinReadPre * set filetype=sql
augroup END
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.