Bagaimana cara memilih / menghapus sampai akhir file di vim / gvim?

42

Secara tidak sengaja saya berhasil menyalin-tempel paragraf dalam vim jutaan kali. Bagaimana saya memilih dan kemudian menghapus teks dari posisi saya saat ini hingga akhir file?

Di Windows, ini akan menjadi Ctrl-Shift-End, diikuti oleh Delete.

ripper234
sumber
Vim telah membatalkan. Tekan u.
Kusalananda

Jawaban:

49
VGx

Masuk ke Mode Visual, pergi ke Akhir File, hapus.

Atau, Anda dapat melakukan:

Vggx

Untuk menghapus dari posisi saat ini ke awal file.

Mark Szymanski
sumber
1
Ugh, aku tidak akan pernah mengingat semua pintasan vim ini. Cara pintas Windows jauh lebih intuitif.
ripper234
Secara pribadi, saya menemukan vim lebih intuitif. V, masuk ke mode visual G, hampir seperti "pergi", ke akhir file. Dan x, hapus.
Mark Szymanski
10
@ ripper234: jangan mencoba mengingat "cuplikan" untuk melakukan tugas tertentu, fokuslah pada sub perintah. Itu bagian dari keajaiban vim: menggunakan perintah yang lebih kecil ini untuk membangun hal-hal yang lebih besar dan lebih kompleks. Itu hampir sangat fleksibel.
Reid
Dan itu sangat membantu untuk meluangkan waktu dan membaca bagian vim-help-related terkait dengan: h command-you-need-help-for
Gjallar
1
Untuk menambah ini: lari vimtutordari commandline untuk mengenal mereka @ ripper234
Bernhard
48

dadalah menghapus dan Gpindah ke akhir file, sehingga dGakan menghapus ke akhir file. Ini termasuk seluruh baris saat ini; jika Anda berada di garis tengah dan ingin mempertahankan semuanya sebelum posisi saat ini, Anda perlu menggunakan metode Markus

Michael Mrozek
sumber
+1 Cara lain untuk mempertahankan bagian dari baris saat ini adalah D<enter>dG: Duntuk menghapus ke EOL, <enter>untuk pindah ke baris berikutnya, dGuntuk menghapus ke EOF.
Jim L.
8

Metode lain: :.,$d

Itu berarti dalam mode ex, alamat baris saat ini untuk mengakhiri, dan hapus.

Keith
sumber
7

Anda juga bisa mengetik uuntuk membatalkan perubahan yang menghasilkan copy-paste yang salah.

vimmar
sumber
tidak selalu memungkinkan, lihat "pilih". Bayangkan Anda telah menulis beberapa kode di akhir file (dan menginginkannya di tempat lain), dG memungkinkan Anda memasukkan dengan p | P
relascope
2
vGx

berfungsi dengan baik untuk pemilihan multi baris (dalam paragraf kasus ini), tetapi jika Anda ingin memilih dalam satu baris, ia bertindak secara misterius (memilih dari kursor hingga awal baris).

Dalam hal pemilihan dalam satu baris Anda harus menggunakan:

v$x

Yang masuk ke mode Visual ("v") dan pergi ke akhir baris ("$") dan menghapus ("x") dari posisi saat ini sampai akhir baris.

Kayvan Tehrani
sumber
0

Vggx tidak bekerja untuk saya, tetapi vG $ d berhasil. vG $ memilih untuk EOF (karakter terakhir dari baris terakhir), lalu perintah apa pun yang ingin Anda jalankan.

= Pendekatan ini (perintah setelah pemilihan) tampaknya bekerja lebih baik. Tentu saja, saya menggunakan Vim 8.1 pada Windows 10, dan beberapa tahun kemudian.

pengguna3473636
sumber