Menggunakan Vim, saya kadang-kadang mendapati diri saya menatap bagian kode sumber untuk sementara waktu dan tiba-tiba ingin beberapa variabel di layar keluar. Itu mudah: /<var>
yang menyoroti semuanya. Masalah saya adalah lebih sering daripada tidak pencarian menggeser jendela saya jadi saya tidak melihat kode sumber dari tempat yang sama. Bahkan jika itu hanya bergeser beberapa baris, itu masih membuatku kesal karena aku perlu mengambil beberapa detik untuk mencari tahu di mana hal-hal telah pindah ke.
Apakah mungkin untuk menyorot istilah pencarian tanpa memindahkan kursor ke kecocokan berikutnya?
vim
search
highlighting
Andrew Wood
sumber
sumber
Jawaban:
http://vim.wikia.com/wiki/VimTip1572
Jika Anda menggunakan plugin ini, Anda cukup mengaktifkan fungsinya
\ m
lalu gunakan tombol NumPad untuk memberi warna pada kata itu ke mana-mana tanpa memindahkan kursor Anda.
1
Anda dapat menggunakan banyak highlight berbeda sekaligus untuk banyak kata yang berbeda, atau pola pencarian yang lebih kompleks jika diinginkan.
sumber
jawaban skyblue menunjukkan inti gagasan tentang bagaimana menggunakan sorotan pencarian normal untuk mencapai apa yang Anda inginkan.
Saya memperluas teknik itu dengan membuat keybinding yang bekerja mirip dengan
*
perintah , tetapi tanpa benar-benar pindah ke pertandingan berikutnya.Terima kasih saya kepada garyjohn karena menunjukkan
expand()
padanan*
kata untuk pemilihan kata (untuk menghindari penggunaannya*
sendiri dan mengembalikan tampilan). Ini menyederhanakan kode sehingga dapat langsung masuk dalam pemetaan (dihilangkan menggunakan fungsi). Saya juga telah menambahkan pemetaan yang cocok dengan sebagian kata (sepertig*
).sumber
normal *
dengan menggantilet @/ = @/
denganlet @/ = expand("<cword>")
.*
, tetapi<cword>
apakah itu.Anda juga bisa mengatur register pencarian ke variabel yang ingin Anda cocokkan.
Pertama, pastikan sorot pencarian dihidupkan:
Kemudian, Anda dapat mengatur register pencarian dengan:
Ini akan menyoroti semua kemunculan variabel tanpa melompat ke pertandingan berikutnya.
Untuk informasi lebih lanjut, lihat
:help @/
sumber
Salah satu caranya adalah dengan menggunakan
:match
perintah, misalnya,Itu akan menyorot kata di bawah kursor menggunakan grup Sorotan pertanyaan. Saya sering menggunakan grup Pertanyaan karena di terminal saya berwarna hijau. Untuk melihat grup sorotan yang tersedia, jalankan
Masing
^R
-masing^W
adalah Ctrl-R dan Ctrl-W, dan digantikan oleh kata di bawah kursor. Lihatuntuk lebih lanjut tentang itu. Lihat
untuk lebih lanjut tentang
:match
perintah. Untuk menghapus penyorotan itu, cukup jalankantanpa argumen.
sumber
Sebagai tambahannya:
Anda mungkin ingin:
sumber
Mirip dengan yang
*
kita miliki:Perlu dicoba
:h [I
. disana kami menemukan beberapa hal menarik terkait dengan kebutuhan Anda.Ada pertanyaan serupa tentang stackoverflow di mana saya meletakkan jawaban saya (sedikit lebih lengkap)
sumber