Edit kata-kata yang berbeda secara bersamaan, satu baris yang sama seperti di Sublime Text dengan banyak pilihan

14

apakah mungkin untuk mengedit lebih dari satu kata secara bersamaan, yang berada di baris yang sama?

Misalnya, katakan saya punya ini:

Spam and Eggs is all you need for a healthy breakfast

dan saya ingin mengubah jalur menjadi:

organic_Spam and organic_Eggs is all you need for a healthy breakfast

Saya ingin menyoroti "Spam" dan "Telur" dan menambahkan "organic_" secara bersamaan ke "Spam" dan "Telur". Agak seperti menggunakan blok visual untuk menulis secara bersamaan pada baris yang berbeda, tetapi di sini menulis hal-hal pada baris yang sama. Saya melihat seorang rekan melakukan hal ini dengan Sublime Text, dan mencoba googling tetapi tidak berhasil.

brodrigues
sumber
Saya selalu berpikir dalam beberapa pilihan fungsi / kursor vim hanya eye-candy ...
Kent

Jawaban:

18

Saya setuju dengan Alexander di sini. Pengeditan sehari-hari saya mungkin akan menggunakan .perintah juga, tetapi jika Anda ingin menjalankan hanya satu perintah saya akan menggunakan perintah pengganti:

:s/S\|E/organic_&/g

sedangkan itu &adalah pola yang cocok dari /S\|E/.

rathrio
sumber
21

Di Vim tidak ada multi-kursor seperti di Sublime Text (tapi ada beberapa plugin yang saya ingat). Tapi itu terlihat tidak begitu penting untuk vim karena ada cara lain untuk mencapai ini. Misalnya Anda memiliki baris ini

Spam and Eggs is all you need for a healthy breakfast

Saya akan melakukan sesuatu seperti ini: tempatkan kursor dalam mode normal pada huruf pertama dari Spamdan masukkan iorganic_Esc, lalu dua kali wuntuk melompat pada Eggsdan tekan .(dot) untuk mengulangi tindakan terakhir. Jadi bagi saya ini jauh lebih produktif daripada dalam Teks Sumlime tetapi mungkin tidak begitu mewah dan intuitif.

Bagaimanapun ada beberapa hal preprocessing untuk tindakan ini di kedua editor, di Sublime Text adalah memilih tempat untuk posisi multi-kursor baru dengan beberapa hotkey, dan setelah semua ini Anda dapat mengedit kata-kata secara bersamaan. Dalam Vim "preprocessing" semacam ini sebenarnya terjadi pada saat mengedit baris, maksud saya semua ww.hal ini .

Alexander Myshov
sumber