aku tahu
di<
akan dihapus dalam tag HTML itu sendiri.
Apakah ada cara mudah untuk menghapus teks di antara dua tag?
<span>How can I delete this text?</span>
Terima kasih!
dit
akan menghapus teks di antara tag XML yang cocok. ( it
untuk "blok tag dalam".)
Lihat :h it
dan :h tag-blocks
.
cit
ketika Anda ingin segera menulis setelahnya.vat
(atauvit
), diikuti oleh berulangat
(atauit
) untuk secara progresif memilih tag yang mengelilinginya. (Atauv2at
, dll). Kemudiand
untuk menghapus (dll).Dua perintah enabler produktivitas terbaik vim.
Saya menghemat banyak waktu dan usaha hanya dengan mereka berdua.
sumber
cit
tercakup dalam utas ini, tetapi untuk anak cucu,ci"
akan dihapus hingga"
ditemukan berikutnya . bagus untuk mengubah nama kelas dalam tag html, seperti<span id="really long annoying-id">
- dengan kursor pada awalnya"
, tekanci"
dan masukkan karakter baru di antara tanda kutip.ciw
juga berguna karena menghapus kata saat ini; Saya menggunakannya lebih daricit
danci"
sebenarnya.ci"
benar-benar akan menghapus teks ke kiri sampai kutipan berikutnya dan ke kanan sampai kutipan berikutnya dan kemudian masuk ke mode insert.ct"
sebenarnya adalah perintah untuk "menghapus hingga" ditemukan "berikutnya. Tapi ya, itu berperilaku sama jika kursor berada di bawah kutipan kiri.coba dt < saat kursor berada pada karakter pertama yang akan dihapus. Dalam contoh Anda, 'H'.
sumber
( kursor pada karakter pertama yang akan dihapus ) v / <[enter] d
Solusi ini dimulai pada karakter pertama, kemudian memasuki mode visual ("v"). Kemudian mencari braket mulai berikutnya ("/ <"), dan kemudian tekan enter untuk keluar dari pencarian.
Pada titik ini, pilihan visual Anda akan mencakup teks yang akan dihapus. tekan d ("d") untuk menghapusnya.
Jika saya harus melakukan ini untuk banyak tag, saya akan merekam perintah dan menggabungkannya dengan beberapa pencarian lain untuk membuatnya berulang. Urutan kunci mungkin terlihat seperti ini:
[ kursor pada awal file ] qa /> [enter] lv / <[enter] dnq
lalu tekan:
20 @ a
untuk melakukan ini selama 20 tag
sumber
c/<[enter]
banyak, dalam "hidup Vim" saya, tapi sekarang saya agak menyesal tentang itu. Soalnya, sebagian besar plugin "mode-Vi" untuk editor / IDE lain yang populer tidak mendukung jenis perintah khusus ini. Mereka mendukungcit
,ci"
,ct<
dan bagaimanapun. Jadi, saya mengajar lagi.Jika Anda bertujuan untuk melakukan kebalikan dari menghapus teks di antara flag, saya sarankan menginstal Vim-Surround dan menjalankan
dst
yang menghapus tag surroundsumber