私は以下に従おうとしました:
しかし
5dd
与える
E492: エディタコマンドではありません: 5dd
次に試しました:
5d
1行だけ削除します。複数の行を削除するにはどうすればよいですか?
私は以下に従おうとしました:
しかし
5dd
与える
E492: エディタコマンドではありません: 5dd
次に試しました:
5d
1行だけ削除します。複数の行を削除するにはどうすればよいですか?
行番号がわかっている場合は、複数の(範囲)行を削除できます。
:[start_line_no],[end_line_no]d
注: d は削除を表します
ここで、
start_line_no は削除する開始行番号、end_line_no は削除する終了行番号です。start と end を含む start と end の間の行は削除されます。
例えば:
:45,101d
45 と 101 を含む 45 と 101 の間の行が削除されます。
非ビジュアル モードの方法を希望し、行番号を認識している場合は、別の簡単な方法を提案したいと思います。
例
45行目から101行目までのテキストを削除したいです。
私の方法では、コマンドモードで以下のコマンドを入力することをお勧めします:
45Gd101G
それは読みます:
45 行目 ( ) に移動し、現在の行から 101 行目までの
45G
テキスト ( ) を削除します ( )。d
101G
の代わりにonvim
を使用できることに注意してください。gg
G
@Bonnie Varghese の答えと比較してください。
:45,101d[enter]
上記の彼の回答のコマンドには、 を含む 9 回の入力がenter必要ですが、私の回答では 8 ~ 10 回の入力が必要です。したがって、私の方法の速度は匹敵します。
個人的には、私は vi のコマンドの構文に固執45Gd101G
する:45,101d
のが好きなので、この場合は次のようにします。
+---------+----------+--------------------+
| syntax | <motion> | <operator><motion> |
+---------+----------+--------------------+
| command | 45G | d101G |
+---------+----------+--------------------+
d5d は 5 行を「カット」します
私は通常、次のように数字を真ん中に投げます。
d7l = 7 文字を削除
タイプ (番号付き行)。:set number
特定のライントリガーの後に範囲を削除する場合は、次のようなものを使用できます
:g/^TMPDIR/ :.,+11d
これは、^TMPDIR
.
ddxではなくdxdです
5 行を削除する場合は、削除する最初の行の先頭にカーソルを合わせて d5d