Pertanyaan Bagaimana cara melakukan pencarian tidak sensitif terhadap kasus di Vim


Saya ingin mencari kata huruf besar, misalnya HAK CIPTA dalam file. Saya mencoba melakukan penelusuran seperti:

/copyright/i    # Doesn't work

tetapi itu tidak berhasil. Saya tahu bahwa dalam Perl, jika saya memberikan i Tandai menjadi regex, ini akan mengubah regex menjadi regex case-sensitive. Tampaknya Vim memiliki cara sendiri untuk menunjukkan ekspresi reguler yang tidak sensitif huruf.


1337
2018-02-18 09:17


asal


Jawaban:


Anda perlu menggunakan \c urutan pelarian. Begitu:

/\ccopyright

Untuk melakukan inverse (case peka cocok), gunakan \C sebagai gantinya.


1674
2018-02-18 09:18



Serta saran untuk \c dan ignorecase, Saya menemukan smartcase sangat berguna. Jika Anda mencari sesuatu yang mengandung karakter huruf besar, itu akan melakukan pencarian case sensitive; jika Anda mencari sesuatu yang murni huruf kecil, itu akan melakukan pencarian tidak sensitif huruf. Kamu dapat memakai \c dan \C untuk mengesampingkan ini:

:set ignorecase
:set smartcase
/copyright      " Case insensitive
/Copyright      " Case sensitive
/copyright\C    " Case sensitive
/Copyright\c    " Case insensitive

Lihat:

:help /\c
:help /\C
:help 'smartcase'

566
2018-02-18 12:11



Anda dapat mengatur ic pilihan di Vim sebelum pencarian:

:set ic

Untuk kembali ke penelusuran peka huruf besar, gunakan:

:set noic

ic adalah singkatan untuk ignorecase


237
2018-02-18 09:18



Anda dapat mengeluarkan perintah

:set ignorecase

dan setelah itu pencarian Anda tidak peka terhadap huruf besar / kecil.


49
2018-02-18 09:19



Untuk beralih antara pencarian sensitif dan tidak sensitif, saya menggunakan pemetaan ini di .vimrc saya

nmap <F9> :set ignorecase! ignorecase?


41
2018-02-23 11:51



letakkan perintah ini di file vimrc Anda

set ic 

selalu melakukan pencarian tidak sensitif huruf


15
2018-05-19 10:31



Orang tua yang baik vim[grep] perintah..

:vimgrep /example\c/ &
  • \ c untuk kasus tidak sensitif
  • \ C untuk peka huruf besar / kecil
  • % adalah mencari di buffer saat ini

enter image description here


10
2017-11-18 01:18



Seperti yang disarankan orang lain:

:set ic

Tetapi hal-hal keren Anda dapat mengubah mode tersebut dengan:

:set ic!

8
2018-01-19 09:34



Seperti yang disebutkan @huyz terkadang perilaku yang diinginkan menggunakan penelusuran peka huruf besar-kecil tapi substitusi case-sensitive. Solusi saya untuk itu:

nnoremap / /\c
nnoremap ? ?\c

Dengan itu selalu ketika Anda menekan / atau ? itu akan menambah \c untuk pencarian tidak sensitif huruf.


6
2018-02-12 09:58



Saya lebih suka menggunakannya \c di akhir string pencarian:

/copyright\c

5
2018-06-15 01:54



Anda dapat menggunakannya di Anda vimrc perintah-perintah itu:

  • set ignorecase - Semua pencarian Anda tidak peka huruf besar / kecil
  • set smartcase - Pencarian Anda akan menjadi case sensitive jika mengandung huruf besar

Saya menulis baru-baru ini artikel tentang perintah pencarian Vim (baik yang dibangun di perintah dan plugin terbaik untuk mencari secara efisien).


4
2017-12-26 08:36