bagaimana cara menyalin / menempel dalam mode ex vim

10

Saya semakin frustrasi dengan mengetik ini

:% s / some_really_long_string / some_other_really_really_long_string_that_may_or_may_not_related_to_the_first_one / gc

Apakah ada cara untuk menyalin / menempelkan string tersebut dalam mode ex?

iakie
sumber

Jawaban:

10

Kamu bisa memakai Ctrl-R untuk memasukkan nilai register pada baris perintah Ex. Jika Anda menarik beberapa teks ke dalam register default, misalnya, Anda dapat memanggilnya kembali Ctrl-R " .

Ada beberapa jalan pintas untuk beberapa kasus umum juga. Anda dapat memasukkan kata saat ini di bawah kursor dengan Ctrl-R Ctrl-W , atau nama file saat ini dengan Ctrl-R Ctrl-F .

Lihat topik ini untuk informasi lebih lanjut, termasuk beberapa contoh lainnya:

:help c_CTRL-R
:help cmdline.txt

Register juga layak dibaca:

:help registers
Bill Odom
sumber
saya pikir Ctrl-R berarti Anda perlu melakukan shift untuk mendapatkan modal R. tetapi ketika saya mencobanya Anda hanya perlu ctrl-r tanpa bergeser.
Trevor Boyd Smith
9

Saya hampir selalu menghindari mengetik string pencarian di perintah pengganti dengan terlebih dahulu menjalankan pencarian (dengan / ) atau "kata di bawah pencarian kursor" (dengan * ) dan kemudian menjalankan:

:%s//other_string/gc

Ketika pola pencarian hilang, perintah pengganti akan menggunakan pola pencarian terakhir.

Selain membuat Anda mengetik lebih sedikit karakter, huruf besar, mencari dengan /, ijinkan untuk terlebih dahulu menguji pola pencarian yang kompleks sebelum melakukan penggantian. Kasus kedua, mencari dengan *, ijinkan untuk menghindari memasukkan atom awal / akhir, mis. \< dan \>.

-

Omong-omong, Anda dapat menghindari g tandai dengan menambahkan garis

set gdefault

di Anda vimrc mengajukan.

mrucci
sumber