Jawaban:
dit
akan menghapus teks di antara tag XML yang cocok. ( it
untuk "blok tag dalam".)
Lihat :h it
dan :h tag-blocks
.
vat
(atau vit
), diikuti oleh berulang at
(atau it
) untuk secara progresif memilih tag yang mengelilinginya. (Atau v2at
, dll). Kemudian d
untuk menghapus (dll).
cit
ci"
Dua perintah enabler produktivitas terbaik vim.
Saya menghemat banyak waktu dan usaha hanya dengan mereka berdua.
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 "
, tekan ci"
dan masukkan karakter baru di antara tanda kutip.
ciw
juga berguna karena menghapus kata saat ini; Saya menggunakannya lebih dari cit
dan ci"
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'.
( 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
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 mendukung cit
, 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 surround
cit
ketika Anda ingin segera menulis setelahnya.