特定の拡張子を持つファイルを書き込むときにbashコマンドを実行しますか?


7

.lessファイルを書き込み、保存し.cssて、同じ名前で同じディレクトリに対応するファイルを生成するときに、bashコマンドを実行したいと思います。.cssファイルを生成するbashコマンドがあります。

vimでの作業と私のの一部の変更を除いて、vimscriptに慣れ.vimrcていないので、これを機能させる方法がわかりません。

要約すると:

  • どのようにbashコマンドを実行し:wますか?
  • 現在のファイルディレクトリ(vimscriptまたはbash)を取得するにはどうすればよいですか?
  • 現在のファイル名(vimscriptまたはbash)を取得するにはどうすればよいですか?

Vimではこれを行わないでください。代わりに、Grunt / Brunch / Gulpのようなウォッチャーを使用してください。
romainl 2015

回答:


11

自動コマンドを使用して、特定のイベントが発生したときに自動的に処理を実行できます。あなたの場合、これを行うことができます:

autocmd BufWritePost *.less !less <afile>

この自動コマンドは、末尾が名前のバッファ.lessが書き込まれるたびに実行されます。実行されているコマンドはbashコマンドであり<afile>、書き込まれているファイルの名前です。基本的に、この!コマンドを使用すると、vimでbashコマンドを実行できます。

関連するヘルプトピック:

  • :help :autocmd
  • :help BufWritePost
  • :help :!
  • :help <afile>

注意

Vimは、bashコマンドの実行時に画面を自動的に更新しません。それに関する情報については、以下の回答を参照してください: vim autocomandからの出力を抑制

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