Saya menggunakan plugin vim dan vim untuk studio visual saat menulis C ++. Seringkali, saya menemukan diri saya ingin mencari string dalam suatu fungsi, misalnya setiap panggilan ke object->public_member.memberfunc()
.
Saya tahu vim menawarkan cara mudah untuk mencari satu kata, dengan menekan *
dan #
, dan itu juga dapat mencari string yang diketik menggunakan /
perintah slash di mana-mana . Saat mencoba mencari semua contoh string yang lebih panjang seperti yang di atas, perlu beberapa saat untuk mengetik ulang setelahnya /
.
Apakah ada cara untuk mencari pilihan? Misalnya, sorot dengan v
, lalu salin dengan y
, apakah ada cara untuk menempelkan setelahnya /
? Apakah ada jalan pintas yang lebih mudah?
vim
viemu
string-search
Marcin
sumber
sumber
Jawaban:
Periksa tip Vim ini: Cari teks yang dipilih secara visual
Atau Anda cukup menarik teks yang dipilih dengan y dan masuk ke mode pencarian / , lalu Anda dapat menempelkan teks yang terakhir ditarik dengan Ctrl + R 0
sumber
Menjawab
Penjelasan
q/
bekerja mirip dengan pencarian vanilla/
kecuali Anda dalam mode perintah jadip
sebenarnya "paste" daripada mengetik karakterp
. Jadi di atas akan menyalin teks yang Anda cari dan menempelkannya ke dalam pencarian.Untuk tipe lebih detail
:help q/
sumber
evil-mode
, ini benar-benar berfungsi, sedangkan jawaban yang diterima rusak parah (mungkin karena penggunaanCtrl
kunci).q/gvp
managv
singkatan dari pemilihan visual terakhir ...q/gvp
tidak bekerja untuk saya. Bisakah Anda menjelaskan saran Anda?Gunakan q / bukan hanya / . (Sama dengan q : ). Sekarang Anda dapat mengedit VIM melalui perintah dan riwayat pencarian Anda! (Coba Ctrl-N dan Ctrl-P kapan-kapan).
sumber
Saya baru saja mengetahui (melalui buku bagus Practical Vim ) bahwa ada plugin untuk itu. Anda dapat menemukan plugin tersebut di GitHub .
Plugin memungkinkan Anda mencari pilihan visual dengan
*
dan#
.sumber
magic
pengaturan saat ini . Ini bahkan bisa membuat pencarian gagal untuk karakter meta yang membutuhkan keseimbangan. Plugin yang disebutkan di sini akan melakukan pelolosan sebelum mencari teks yang dipilih.n
untuk pergi ke item yang ditemukan berikutnya, sementara pendekatan Cory dan CMS memungkinkan ..Anda sebenarnya dapat memilih teks secara visual dan menekan * dan # untuk mencari kejadian berikutnya ... Ini akan berfungsi sama, satu-satunya peringatan adalah:
http://vim.wikia.com/wiki/Search_for_visually_selected_text
sumber