Ganti teks saat dalam mode blok visual


10

Mungkin saya mencari dengan cara yang salah, tetapi saya gagal menemukan cara melakukan ini.

Berikut skenarionya: Saya memiliki daftar di file teks di mana saya ingin memasukkan kata yang sama pada banyak baris, berikut ini contoh teks:

12.1 Item1
12.2 Item2
12.3 Item3

Sekarang saya blok visual menandai kolom ke-8, ditunjukkan dengan garis bawah di bawah ini, dan bermaksud untuk mengganti bagian dari spasi dengan Donetanpa memindahkan kolom item:

12.1 _ Item1
12.2 _ Item2
12.3 _ Item3

Saya berharap bisa masuk ke mode ganti, tetapi saya hanya bisa memasukkan insert ( I), append ( A), atau ubah-mode ( c). Mode perubahan mendekati apa yang saya inginkan: jika saya tahu panjang kata blok dapat diatur ke lebar yang sama.

Apakah ada sesuatu yang saya lewatkan di sini?

Jawaban:


18

Mengapa Anda tidak memilih 4 kolom dan tekan c?

<C-v>
2j
3l
cDone
<Esc>

Anda juga dapat menggunakan :h normal:

V
2j
:'<,'>norm 7lRDone
<Esc>

1
Itu berhasil Done, tetapi bagaimana jika saya ingin menulis sesuatu yang lain, saya ingin bebas dari penghitungan karakter, jika memungkinkan.
Thor

1
:normadalah temanmu, kalau begitu.
romainl

Ya solusi kedua dapat digunakan untuk pemetaan yang nyaman. Terima kasih.
Thor

1

Jika Anda ingin mengganti dalam blok visual, Anda dapat menggunakan vis.vimplugin .

http://vim.wikia.com/wiki/Applying_substitutes_to_a_visual_block

Untuk memasang:

Unduh vis.vba.gz dari http://www.drchip.org/astronaut/vim/index.html#VIS

# Open vis.vba.gz in Vim 7.1 or later.
vim vis.vba.gz

# Source the open file.
:so %

# Quit Vim
:q

Setelah diinstal:

ctrl-v to enter visual-block mode
Move to select the block you want
:B s/pattern/newtext/

Bahkan lebih baik, Anda dapat melakukan perintah Ex pada blok visual, bukan hanya substitusi. Sebagai contoh :B !sort.


Plugin yang bagus, saya akan menggunakannya :-). Tetapi bagaimana saya bisa menggunakannya untuk mengganti kolom yang berubah-ubah?
Thor

Benar, Anda masih memiliki masalah pengaturan cepat lebar blok visual agar sesuai dengan kolom lebar sewenang-wenang Anda. Saya biasanya melakukan <count> watau euntuk memilih beberapa kolom dengan cepat, kemudian menyesuaikan dengan hatau l.
Christian Long
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.