Saya ingin mencari kata huruf besar, misalnya HAK CIPTA dalam file. Saya mencoba melakukan pencarian seperti:
/copyright/i # Doesn't work
tetapi tidak berhasil. Saya tahu bahwa di Perl, jika saya memberikan i
bendera ke regex, itu akan mengubah regex menjadi regex case-insensitive. Tampaknya Vim memiliki caranya sendiri untuk menunjukkan regex case-insensitive.
search
vim
case-insensitive
Haiyuan Zhang
sumber
sumber
\c
dapat muncul di mana saja di dalam pola, jadi jika Anda mengetik pola dan kemudian memutuskan Anda ingin pencarian case-sensitive, tambahkan saja\c
di akhir.set ignorecase
untuk pencarian case-insensitive di vimrc saya, dan saya bisa gunakan\C
untuk melakukan pencarian case-sensitive mirip dengan apa yang @AlokSinghal sebutkan.set smartcase
yang secara otomatis akan beralih ke pencarian case-sensitive jika Anda menggunakan huruf kapital apa pun.set smartcase
hanya berlaku ketikaset ignorecase
sudah aktif. Saya bingung tentang ini untuk sementara waktu. Lihat Tips Vim .\c
versus\C
Serta saran untuk
\c
danignorecase
, saya menemukansmartcase
sangat berguna. Jika Anda mencari sesuatu yang mengandung karakter huruf besar, itu akan melakukan pencarian case sensitif; jika Anda mencari sesuatu huruf kecil, itu akan melakukan pencarian case sensitif. Anda dapat menggunakan\c
dan\C
menimpa ini:Lihat:
sumber
ignorecase
adalah bahwa itu mempengaruhi substitusi serta pencarian. Saya menemukan bahwa masuk akal untuk memiliki pencarian (pandai) yang tidak peka terhadap huruf besar tetapi penggantian case-sensitive secara default. Tapi saya tahu tidak ada cara untuk melakukan itu.smartcase
bekerja, Anda juga perluset ignorecase
. Tip yang bagus, terima kasih!:%s/lowercasesearch\C/replaceString/g
. Ini tidak membuat fungsionalitas default yang Anda inginkan, tetapi memungkinkan Anda untuk memaksa sensitivitas huruf untuk penggantian sambil tetap mendapatkan manfaat dari smartcase saat mencari.I
bendera pada substitusi untuk memaksa pola menjadi case-sensitive. Seperti:%s/lowercasesearch/replaceString/gI
.After "*" and "#" you can make 'smartcase' used by doing a "/" command, recalling the search pattern from history and hitting <Enter>.
Anda dapat mengatur
ic
opsi di Vim sebelum pencarian:Untuk kembali ke pencarian case-sensitive gunakan:
ic
adalah singkatanignorecase
sumber
\c
tidak bekerja di vi.Anda bisa mengeluarkan perintah
dan setelah itu pencarian Anda akan menjadi case-sensitive.
sumber
Untuk beralih antara pencarian case sensitif dan tidak sensitif saya menggunakan pemetaan ini di .vimrc saya
nmap <F9> :set ignorecase! ignorecase?
sumber
ignorecase?
menunjukkan kepada Anda keadaan bendera saat ini. (di baris perintah)Anda dapat menggunakan
vimrc
perintah-perintah itu:set ignorecase
- Semua pencarian Anda akan peka terhadap huruf besar-kecilset smartcase
- Pencarian Anda akan peka huruf besar-kecil jika mengandung huruf besarAnda perlu mengatur
ignorecase
jika Anda ingin menggunakan apa yangsmartcase
disediakan.Baru - baru ini saya menulis sebuah artikel tentang perintah pencarian Vim (baik perintah bawaan dan plugin terbaik untuk mencari secara efisien).
sumber
set smartcase
tidak melakukan pencarian case sensitif jika saya tidak menggunakan huruf besar ... apakah itu normal?Seperti yang disarankan orang lain:
Tapi yang paling keren adalah Anda dapat beralih mode seperti itu dengan:
sumber
letakkan perintah ini di file vimrc Anda
selalu melakukan pencarian case-sensitive
sumber
set noic
.vim[grep]
Perintah lama yang bagus ..sumber
Cannot open file "&"
%
alih-alih%
.Saya lebih suka menggunakan
\c
di akhir string pencarian:sumber
Seperti @huyz menyebutkan kadang-kadang perilaku yang diinginkan menggunakan pencarian case-insensitive tetapi penggantian case-sensitive. Solusi saya untuk itu:
Dengan itu selalu ketika Anda menekan
/
atau?
itu akan menambah\c
pencarian case-sensitive.sumber
smartcase
opsi?smartcase
Vim memiliki 2 mode
1.edit mode
Pencarian akan bekerja untuk mode normal
/ \ c untuk case sensitif
/ \ c pencarian
sumber
Anda dapat mengatur
ignorecase
secara default, jalankan ini di shellsumber