2

Vimや他のエディターで役立つかもしれない機能[ライン依存性という名前]を考えていました。

ライン依存関係とは何ですか?

現在のバッファSの行番号のセットがまったく同じであるとします。S'依存としてマークされた(の)サブセットは、の行のSいずれかへの変更がすべてのに反映されることを意味します。lS'S'

S'はバッファの変更に応じて更新されます。つまり、行は作成された最初のポイントまでさかのぼることができます。

ユースケース:マクロを記録せずに、変更を複数行に自動的に複製します。

Vimでこれを行うことは可能ですか?このアイデアを実装する上で固有の問題はありますか?このアイデアに根本的な欠陥はありますか?

4

2 に答える 2

1

プラグインvim-multiple-cursorsは、テキストの複数の同一セクションを同時に編集するのに役立ちます。これがあなたが探しているものであることを願っています。

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

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

于 2014-04-30T15:03:03.787 に答える
0

Vimscriptでは、イベントを介して「ソース」行の変更にフックできますが、CursorMovedI通常モード(p)およびExコマンド(:put)を介して、おそらくCursorHold遅延後に変更に対応するのは困難です。

上記の挿入/削除があるときに行を追跡するために、マークを使用できますが、それらは26個しかありません。

回線の更新は、を介して簡単に「複製」できますsetline()

一般に、Vimscriptでこれを行うことは、完璧で実装が難しいことではありません。これをコアVimに追加するには、Vimの内部とソースコードに関する深い知識が必要であり、Vimのメンテナーに受け入れられる可能性はほとんどありません。それが本当に価値があるかどうかをよく考えてください。

于 2012-06-06T08:22:41.687 に答える