0

Vimでドキュメントテンプレートを作成したいと思います。

拡張子のファイルを作成すると.bananão、テンプレートはそれ自体をアクティブにして現在のバッファになるはずです。

テンプレートには次のようなものが含まれます。


Names of attorneys:
- DEFATTORNEY
- BANANATTORNEY

Plaintiff:
- BANANAPLAINTIFF
Defendant:
- BANANADEFENDANT

...

.. moves the court for the entry of an Order directing BANANAPLAINTIFF
   to produce to BANANADEFENDANT ...

... etc.

vimこのドキュメントテンプレートに加えられた変更を監視し、特定のイベントが検出されたときにアクションをトリガーしたいと思います。

監視したい変更は次のとおりです。

  • セットCOCONUTSETに属するキーワードの編集:{DEFATTORNEY、BANANATTORNEY、BANANAPLAINTIFF、BANANADEFENDANT}

構成したいトリガーされた複合アクションは次のとおりです。

  • COCONUTSET内の単語の1つ、たとえばCOCONUTWORDを編集したコマンドを完了したら、プレースホールドワードCOCONUTWORDの代わりに配置された最初の単語を読み取り、プレースホルダーワードCOCONUTWORDの他のすべての出現箇所をこの置換ワードに置き換えます。

  • COCONUTSETからCOCONUTWORDを削除します。

  • COCONUTSETが空の場合は、変更の監視を停止します。

このためにどの機能/アプローチをお勧めしますか?

4

1 に答える 1

0

あなたのばかげた例では、それがどれほど適切に適用されるかを判断するのは難しいですが、gc組み込みのように機能するコマンドを提供するプラグインを作成しましたc。挿入モードを終了した後、現在の他のすべてのオカレンスにローカル置換を適用します行(小さな文字の変更の場合)、または行全体が変更された場合は、バッファの残りの部分に。これはすぐに公開する予定ですが、基本的には、InsertLeaveイベントにフックして、編集されたものを確認(登録".)してから、置換を実行する必要があります。

于 2012-10-05T18:56:50.763 に答える