私はUbuntuを使用していて、vi
エディターから100行すべてを削除しようとしていますが、これを1つのコマンドで実行するというインタビューの質問を受けました。
通常モードでは、
100dd
dd
は現在の行を削除します。そのコマンドの前に100
を指定すると、100回繰り返されます。
vi
の実装に応じて、ファイルの現在の行から始まる行が100行未満の場合、削除に失敗するか、削除することができます。 vim
の場合、cp
aka compatible
オプションがオンかどうかによって異なります。
現在の行から100行を削除(含む)
dd(現在の行を削除)を100回繰り返します。
100dd
現在の行から99行先まで削除
d99j
現在の行から(含む)100行後方に削除
d99k
行番号で特定の範囲の行を削除する
:1,100d
現在の行で始まる範囲の行を削除する
:.,.+99d
などなど.
allファイルの行を削除する場合、このviコマンドは削除の範囲を指定します。
:1,$d
1
は最初の行を示し、$
は最後の行を示します
ファイルのすべての行を削除しますか? vi
でファイルを開きます。最初の行の先頭-ファイルを開いたときのカーソルのデフォルト位置-を押している間 Esc に続く dG。
注意してください、アクションd
は削除を示し、G
はファイルの最終行を示します。したがって、任意の行で dG、現在の行から最後の行までをすべて削除します。
削除する連続する行がわかっている場合(たとえば、101行目から200行目まで)、次のキーシーケンスを入力します。 Esc:11,2d。
ファイルのどこにいても、ggdG
を実行できます
:%d
は、キーを押す回数が少ないほどうまくいきます。まあ、shift
キーとenter
キーを数えると、実際には上記のキーを2回押します。
100dd
のようなことをすると、削除されるだけです まで 現在の位置から100行です。現在の行の位置によっては、ファイルからすべての行が削除されない場合があります。
Esc n dd。 nは、現在の行から削除し、現在の行を含む行数です。 「Esc」ボタン、「n」、「dd」の順に押します。 理解を深めるために