Sorot Pencarian (hls) cocok dengan beberapa istilah pencarian dengan warna berbeda

2

Sering kali ketika mengerjakan kode, saya mencari kemunculan variabel dengan nama yang mirip. Sebagai contoh, temukan semua kecocokan dari var1 dan var2 sebagai:

/\<var1\>\|\<var2\>

Sekarang saya sangat suka fitur Sorot Pencarian Vim, b / c setelah saya melakukan pencarian, semua contoh yang cocok muncul dalam warna kuning.

Apakah ada cara untuk menetapkan warna berbeda ke istilah berbeda di string pencarian? Artinya, semua pertandingan var1 menjadi kuning dan var2 menjadi hijau?

ysap
sumber

Jawaban:

2

Dengan 'hlsearch' pilihan, tidak, mereka semua harus tampil dalam warna yang sama. Namun, Anda dapat menggunakan :match fitur sebagai gantinya. Sebagai contoh:

:match TODO /var1/
:2match Type /var2/
:3match Comment /var3/

Ini, tentu saja, lebih rumit daripada lurus 'hlsearch' cocok, karena itu mengharuskan Anda untuk tahu apa kelompok pewarnaan sintaksis sudah didefinisikan, atau menentukan sendiri. Selain itu, Anda hanya dapat melakukan hingga tiga pertandingan terpisah dengan cara ini. Jika Anda membutuhkan lebih banyak, Anda harus menggunakannya matchadd() sebagai gantinya.

Lihat:

:help :match
:help :highlight
:help highlight-groups
:help matchadd()
Heptite
sumber
1
Sangat bagus! Namun, kekurangannya (selain ketidaknyamanan yang jelas) adalah bahwa kecocokannya adalah lokal ke jendela (atau buffer?) Dan tidak mempengaruhi jendela yang berdekatan (yang merupakan fitur yang sangat berguna ketika bekerja pada proyek dengan beberapa modul sumber)
ysap
Saya lupa menyebutkan bagian itu, maaf.
Heptite
2

Pencarian bawaan tidak dapat melakukan itu, tetapi ada plugin yang memungkinkan Anda menggunakan warna yang berbeda, misalnya milik saya Tandai pengaya . (Halaman plugin memiliki tautan ke plugin alternatif.) Sebagian besar menggunakan matchadd() fungsi, memastikan bahwa ini diterapkan secara global ke semua jendela, dan menyediakan antarmuka seperti pencarian melalui pemetaan dan perintah.

Ingo Karkat
sumber
Terima kasih. Sepertinya saya perlu mencari waktu untuk meneliti plugin ini!
ysap