0

再フォーマットしようとしていた大きなファイルがあり、複製ごとに 2 から 100 行の 2 番目から n 番目の繰り返しセットを削除する必要がありました。

データは次のように見えました

element1.element2.element...field.comment

最初のインスタンスの後の要素の繰り返しを削除したかったので、もちろん複雑になりました:)そして、次のようなマクロを実行しました

マクロでは、現在の行の最初の要素をレジスタ p にヤンクし、次に行を処理して、最初の要素をレジスタにヤンクしoてから、マクロ内で実行します

:if (@p=!@o)|:.s/paste register p//g|else|:norm! j|endif

これで、手動で1回か2回エスケープしてから コマンドを実行するまで@p<>@o:norm! jパーツがモードのままだった行に到達した場合を除いて、これは問題なく機能しました。::norm! j

私はより簡単な方法で問題を解決しましたが、なぜそれが :ex モードを離れないのが else の部分だけだったのか知りたいです。

4

1 に答える 1