Bagaimana saya mencari di vim untuk pola yang TIDAK peka huruf besar kecil?

18

Saya kadang-kadang mencari melalui file dalam vimatau lessmenggunakan /atau ?tetapi sejauh yang saya tahu, pola pencarian sensitif huruf.

Jadi misalnya, /footidak akan menemukan hal yang sama /FOOakan. Apakah ada cara untuk membuatnya tidak terlalu ketat? Bagaimana saya bisa mencari di vimatau lessuntuk pola yang TIDAK peka huruf besar kecil?

Mike B
sumber
2
Dalam lesspencarian adalah case-sensitive kecuali Anda menggunakan string yang berisi huruf besar. Jadi, fooakan cocok Foodan FoOtetapi Foohanya akan cocok Foodan tidak foodll. Juga lihat di sini: less selalu case-sensitive .
terdon
1
@terdon Menarik! Saya berjuang untuk memahami "mengapa" lessberperilaku seperti itu tetapi saya kira itu adalah topik untuk hari lain. Terima kasih!
Mike B
Yah, untuk satu hal, saya merasa sangat berguna ketika mencari melalui halaman manual. Aku benci kalau itu sensitif. Ada beberapa posting tentang ini, juga lihat di sini: Dapatkah saya memaksa `man` untuk melakukan pencocokan sensitif huruf kecil? dan di sini: Pencarian tidak sensitif huruf pada halaman manual . Bahkan, jika Anda tidak keberatan, saya akan menghapus lessdari pertanyaan Anda karena itu tercakup dengan cukup baik di pos lain dan jawaban yang Anda terima menjelaskan cara melakukannya di vi.
terdon
@terdon Baik-baik saja oleh saya, walaupun tolong pertimbangkan meninggalkan dialog komentar ini karena saya cenderung menggunakan keduanya lessdan vidan info itu berharga.
Mike B
Sebagai titik klarifikasi, saya memang menggunakan vim(meskipun saya mengetik vi). Permintaan maaf untuk kebingungan.
Mike B

Jawaban:

21

Di viatau vimAnda dapat mengabaikan kasus dengan :set ic, dan semua pencarian berikutnya akan mempertimbangkan pengaturan sampai Anda mereset oleh :set noic. Di lesssana ada pilihan -idan -Iuntuk mengabaikan kasus.

Janis
sumber
9
Saya juga akan seperti untuk merekomendasikan :set smartcase, untuk hanya mencari kasus sensitif ketika setidaknya pada karakter huruf besar digunakan.
Bernhard
3
Sebagai catatan, smartcase hanya vim. Tapi "vi" OP kemungkinan vim, jadi perlu disebutkan / dicoba.
Random832
@ Random832 Yup. Benar. Diperbarui pertanyaan awal untuk menyebutkan vimalih-alih vi.
Mike B
27

Gunakan \curutan pelarian:

/foo\c

Lihat juga: /programming/2287440/how-to-do-case-insensitive-search-in-vim

g33kz0r
sumber
7
Perhatikan bahwa ini bisa pergi ke mana saja dalam pola, jadi jika Anda memutuskan setelah mulai mengetik bahwa Anda ingin pola menjadi case-sensitive, Anda bisa menambahkan di \cmana pun Anda berada — misalnya /some_very_lo\cng_text,.
wchargin
2

Dalam .vimrcfile Anda , sertakan

set ignorecase

atau

set ic

Untuk mengaktifkan kembali sensitivitas case, gunakan :set ic!.

todgru
sumber
1
Hai! Ini terlihat OK, tetapi tidak menambah banyak jawaban yang sudah diterima, bukan?
Dhag
1
@hhag semua jawaban menyediakan cara berbeda untuk menyelesaikan tugas yang sama. Mengatur nilai dalam .vimrc memungkinkan pengaturan untuk sesi vim lainnya.
todgru
@hhag Anda benar karena ini tidak menyelesaikan masalah OP dalam waktu kurang.
todgru