Saya ingin dapat menghapus sisa baris yang saya mulai di posisi kursor di VIM. Apakah ada perintah mudah untuk melakukan ini?
Untuk membantu menggambarkan, ini sebelum perintah.
The quick brown dog jumps over the lazy fox.
^
|----- Cursor is here.
Ini setelah perintah
The q
^
|----- Cursor is here.
d
diikuti oleh sesuatu. Saya pikir akan lebih cepat untuk mengirim pertanyaan di sini dan juga bermanfaat bagi orang lain yang secara default mencari online sebelum membaca manual.C
, satu-satunya cara "nyata" untuk mendapatkan kursor pada posisi yang ditunjukkan, meskipun itu menempatkan Anda dalam mode sisipkan.d
diikuti oleh sesuatu" perintah -setara untukD
, di mana "sesuatu" adalah$
gerak:d$
.C
(atauc$
)dd
dari mode perintah. Saya harap itu membantu orang lain yang menemukan ini.Gunakan D. Lihat dokumen untuk informasi lebih lanjut.
sumber
Anda mungkin juga tertarik C, itu juga akan menghapus akhir baris seperti D, tetapi juga akan menempatkan Anda dalam mode Sisipkan di lokasi kursor.
sumber
Jalankan dalam mode perintah
d$
.sumber
D
adalah solusi yang lebih cepat untuk ini.Tekan ESCuntuk masuk lebih dulu
command mode
. Kemudian Tekan Shift+ D.https://www.fprintf.net/vimCheatSheet.html
sumber
Ini adalah pertanyaan yang sangat lama, tetapi karena VIM masih relevan, sesuatu harus diklarifikasi.
Setiap jawaban dan komentar di sini pada Oktober 2018 merujuk pada apa yang biasanya dikenal sebagai tindakan "memotong", sehingga menggunakan salah satu dari mereka akan menggantikan apa pun yang saat ini ada dalam daftar VIM yang tidak disebutkan namanya . Register ini cenderung diperlakukan seperti copy / paste clipboard default, jadi tidak satu pun dari jawaban ini akan bekerja seperti yang diinginkan jika Anda menghapus sisa baris untuk menempelkan sesuatu di tempat yang sama sesudahnya, karena apa pun yang baru saja dihapus akan kemudian ditempelkan kemudian ditempelkan menggantikan apa pun yang ditarik sebelumnya.
Perintah hapus yang sebenarnya dalam konteks OP adalah
"_D
(atau"_C
jika mode penyisipan diinginkan) Ini mengirimkan konten yang dihapus ke dalam register lubang hitam , yang ditunjuk oleh"_
, di mana ia tidak akan mengganggu siapa pun lagi (walaupun Anda masih dapat membatalkan tindakan ini menggunakanu
).Yang sedang berkata, apa pun yang disentak terakhir disimpan dalam register 0 , dan bahkan jika itu diganti dalam register yang tidak disebutkan namanya, itu masih bisa ditempel menggunakan
"0p
.Pelajari lebih lanjut tentang register lubang hitam dan register secara umum untuk kesenangan VIM ekstra!
sumber
D
ataudd
menghapus dan menyalin garis ke register. Anda dapat menggunakanVx
yang hanya menghapus garis dan tetap dalam mode normal.sumber