N
以下は、 viの最初の文字を削除するコマンドです。
:%s/^.\{N}//g
^.\{N}
しかし、私は;の意味を理解していません。誰でも各文字の意味を文字ごとに説明できますか?
このコマンドを拡張して、行から中間の文字を削除するにはどうすればよいですか?
例:指定された行範囲から4番目から50番目の文字を削除する
これが正規表現部分の説明です
^
は、最初のアンカーです。
.
任意の文字に一致しました。
N
前のトークンが一致する文字数を示します
{}
カウントをグループ化するために使用されます。たとえば、次のように使用できます{1, 9}
つまりFrom the beginning of the line, match N characters
、残りはVIMのものです。
^
行頭アンカーです。.
はユニバーサルマッチで{N}
、前のマッチをN回繰り返します。
4番目から50番目の文字を削除するには、を使用します:%s/^\(.\{4}\).\{46}/\1/g
。
ただし、長方形選択モードを使用する方がおそらく簡単です。通常モードから開始位置に移動してからヒットCtrl+V
すると、カーソルを移動して長方形選択を作成できます。