Tidak mudah menemukan judul yang bagus untuk masalah saya.
Saya sadar menyisipkan di depan blok teks:
Ctrl- v pilih jenis teks barisI ESC
Sekarang saya ingin melakukan ini tetapi juga dengan mengganti bagian dalam pemilihan blok saya. Saat ini saya sedang melakukan dua operasi
Ctrl- v pilih blok x kembali untuk memulai
Diikuti oleh urutan yang saya sebutkan di atas.
Apakah ada cara untuk menggabungkan kedua operasi ini dengan memilih ( Ctrl- v) blok hanya sekali?
Ini adalah contoh kecil:
Saya ingin mengubah blok berikut
1 text
2 text
3 text
4 text
5 text
ke
new text
new text
new text
new text
new text
hanya melakukan satu "operasi".
visual-mode
replace
Patrick B.
sumber
sumber
Jawaban:
Mengetik csetelah memilih blok Anda alih-alih xakan menghapus teks di blok pilihan dan akan masuk ke mode insert. Setelah Anda mengetik sesuatu dan keluar dari mode penyisipan, Anda harus memiliki perubahan yang sama di setiap baris.
Mencoba
Ctrl- v- pilih blok - c- masukkan apa pun -Esc
sumber
Bayangkan deretan tiga huruf besar seperti yang ada di atas.
^V
memilih di atas, saya tidak bisa mengubah semua menjadiA
dalam huruf terakhir di baris karena garis panjang yang tidak sama. Huruf blok sebelumnya berfungsi baik dengan:s/\%V1/T/g
"Huruf blok sebelumnya adalah huruf T yang dibuat dari '1. Ubah/T/
ke apa pun.Tetapi memilih huruf blok terakhir yang ditunjukkan di atas hanya mengubah semua '1 ke' A ke titik A *, dan sisanya tetap yang.
* Garis terpendek.
Untuk membuat semua garis dengan panjang yang sama, saya mengisinya dengan spasi. (Saya baru untuk vim, jadi saya yakin naskah yang lebih baik dapat ditulis.)
Catatan: Puncak A dimulai pada baris 2.
Setelah ini,
:s/\%V1/T/g
berfungsi seperti yang diiklankan pada huruf besar terakhir di baris.PS Saya membaca bahwa
execute
baris di atas seharusnya bekerja tanpa titik-titik, tetapi tidak berhasil untuk saya.sumber