Jawaban:
Anda dapat menambahkan awalan dengan M-x string-rectangle
, yang terikat C-x r t
. Ini adalah bagian dari serangkaian perintah yang beroperasi pada seleksi persegi panjang ; ini memasukkan teks pada setiap baris dalam kotak.
Mulailah dengan menetapkan tanda di awal baris pertama, dan gerakkan kursor Anda ke karakter pertama dari baris terakhir yang ingin Anda awali:
*Hello
There
▮I am some code
Kemudian gunakan C-x r t
, masukkan awalan Anda ( I said
) dan tekan RET
. Ini menambahkan teks ke setiap baris dalam persegi panjang:
I said Hello
I said There
I said I am some code
Jika Anda tidak meluruskan kursor pada kolom yang sama dengan tanda Anda, itu akan menimpa bagian dari persegi panjang itu:
*Hello
There
I am▮ some code
dengan hasil perintah yang sama di:
I said o
I said e
I said some code
M-x string-insert-rectangle
. Ini sangat mirip, tetapi string-insert-rectangle
menyisipkan di awal setiap baris pilihan, sedangkan string-rectangle
menggantikan , jadi dengan yang terakhir Anda harus lebih tepat tentang pilihan Anda jika Anda tidak ingin menimpa apa pun.
Anda bisa menggunakan multi-kursor-mode , untuk meletakkan kursor di setiap baris. Kemudian, teks apa pun yang Anda ketikkan akan dimasukkan pada setiap baris.
Anda akan mulai dengan titik di awal potongan kode:
▮Hello
There
I am some code
Kemudian tekan C->dua kali. (Ini adalah kunci yang disarankan mengikat; Anda harus mengaturnya sendiri.) Ini menciptakan dua kursor tambahan pada dua baris berikut:
▮Hello
▮There
▮I am some code
Kemudian ketik I said
. Teks akan ditambahkan pada setiap baris:
I said ▮Hello
I said ▮There
I said ▮I am some code
Terakhir tekan RETuntuk keluar dari beberapa mode kursor dan meninggalkan titik pada kursor terakhir:
I said Hello
I said There
I said ▮I am some code
Berikut adalah video yang menunjukkan cara kerjanya.
Pilihan lain adalah menggunakan makro, yang dapat menangani lebih banyak tugas daripada pilihan persegi panjang atau beberapa kursor, bahkan jika itu sedikit clunkier untuk kasus khusus ini.
Posisikan kursor di awal baris pertama dan tekan F3untuk mulai merekam, masukkan teks, gerakkan kursor ke awal baris berikutnya dan tekan F4untuk berhenti merekam. Sekarang tekan F4lagi untuk mengulangi makro, C-2 F4untuk mengulanginya dua kali, atau C-0 F4untuk mengulanginya sampai kesalahan (seperti kehabisan garis) ditemukan.
Anda dapat menginstal evil dan melakukannya dengan sejumlah cara vi-like - Saya lebih suka pemilihan blok visual menggunakan Ctrl+ Vuntuk menandai setiap baris dan kemudian Shift+ Iuntuk memasukkan dan kemudian ketik teks yang ingin Anda masukkan dan akhirnya tekan ESCuntuk keluar dari mode insert dan teks akan ditambahkan ke setiap baris. Ini sangat mirip dengan pilihan rectangular emacs tetapi sedikit penekanan tombol.
Ini sangat mirip dengan jawaban artagnon, tetapi replace-regexp
tidak terikat pada kunci apa pun.
Jadi, saya benar-benar menggunakan query-replace-regexp
yang terikat secara default C-M-%
dan kemudian mengganti ^
dengan awalan yang diberikan I said
dan kemudian ketik !
untuk mengganti semua tanpa diminta lagi.
Jika Anda telah cua-mode
mengaktifkan, maka:
I said
sebagai teks yang akan disisipkanSaya lebih suka cua-mode
cara kerjanya, dibandingkan dengan persegi panjang standar Emacs di mana yang setara adalah:
I said
RET untuk memasukkan teksThe cua-mode
menyimpan dua penekanan tombol dibandingkan dengan standar Emacs persegi panjang.
Tetapi bagi saya, keuntungan tambahan dari cua-mode adalah bahwa saya dapat menambahkan teks ke persegi panjang (saya pribadi tidak tahu bagaimana menambahkan teks dengan persegi panjang standar Emacs). Dengan cua-mode, ini hanya satu RETtombol, dimasukkan sebelum I said
.