に示すように、ed
行番号のアドレスとコマンドを順番に入力すると、行番号を削除できます。行範囲を削除するには、などのカンマを使用できます。のように、特定の内容を含む行を削除することもできます。連続していない行を削除するように指定する方法はありますか?delete
1d
1,4d
g/Ted/d
単一コマンドで?つまり、次を入力せずに行1、3、8を一度に削除するとします。
1d
3d
8d
答え1
いいえed
(1960年代の編集者)、いいえ。ただし、ex
(70年代以上)またはむしろ(90年代)のvim
実装に移行する準備ができている場合は、次のことができます。ex
g/\v%1l|%3l|%8l/d
どこ\%nl
(withで簡略化)は、現在の行の位置に一致する正規表現演算子です。%nl
\v
N仕事。
1d
、、、を順次実行する方法を使用すると、元の3行目が23d
行目になり、最終的に行1、4、10が削除されます。最後から始めると、このような問題は発生しません:、、、。8d
1d
8d
3d
1d