vim / gvimでファイルの終わりまで選択/削除する方法は?


42

偶然、私は何百万回も段落をコピー&ペーストすることができました。現在の位置からファイルの最後までテキストを選択して削除するにはどうすればよいですか?

Windowsでは、これはCtrl-Shift-Endで、その後にDeleteが続きます。


Vimは元に戻します。を押しuます。
クサラナナンダ

回答:


49
VGx

ビジュアルモードに入り、ファイルの終わりに移動して削除します。

または、次のこともできます。

Vggx

現在の位置からファイルの先頭までを削除します。


1
うーん、私はこれらすべてのvimショートカットを決して覚えていません。Windowsのショートカットは、はるかに直感的です。
ripper234

個人的には、vimの方がより直感的だと思います。V、「go」のような視覚モードGをファイルの最後まで入力します。x、削除します。
マークシマンスキー

10
@ ripper234:特定のタスクを実行するために「スニペット」を覚えようとせず、サブコマンドに焦点を合わせます。これはvimの魔法の一部です。これらの小さなコマンドを使用して、より大きく複雑なものを作成します。それはほとんど無限に柔軟です。
リード

そして、時間をかけて関連するvim-help-sectionsを読むのに本当に役立ちます:h command-you-need-help-for
Gjallar

1
これに追加するには:vimtutorコマンドラインから実行して、それらに慣れる@ ripper234
Bernhard

48

dは削除されG、ファイルの最後に移動するため、ファイルdGの最後まで削除されます。ただし、現在の行全体が含まれます。あなたが正中線で、現在の位置の前にすべてを保持したい場合は、マークの方法を使用する必要があります


現在の行の一部を保存する+1他の方法があるD<enter>dGD、EOLを削除するために<enter>、次の行に移動するためにdGEOFを削除します。
ジムL.

8

さらに別の方法: :.,$d

つまり、exモードでは、現在の行をアドレス指定して終了し、削除します。


7

また、入力uするだけで、誤ったコピーアンドペーストの原因となった変更を取り消すこともできます。


常に可能とは限りません。「選択」を参照してください。P |あなたはファイルの最後にいくつかのコードを書かれている想像(と別の場所にしたい)、DGは、pであなたに挿入することができます
relascope

2
vGx

複数行の選択(この場合は段落)には正常に機能しますが、1行内で選択したい場合は不思議な動作をします(カーソルから行の先頭までを選択します)。

単一行内で選択する場合は、次を使用する必要があります。

v$x

ビジュアルモード( "v")に入り、行末( "$")に移動し、現在位置から行末まで削除( "x")します。


0

Vggxは機能しませんでしたが、vG $ dは機能しました。vG $はEOF(最後の行の最後の文字)を選択してから、実行するコマンドを選択します。

=このアプローチ(選択後のコマンド)の方がうまくいくようです。もちろん、私はWindows 10でVim 8.1を使用しており、数年後です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.