Как сделать поиск без учета регистра в Vim
Я хотел бы найти слово в верхнем регистре, например COPYRIGHT в файле. Я попытался выполнить поиск, как:
/copyright/i # Doesn't work
но это не работает. Я знаю, что в Perl, если я дам i
флаг в регулярное выражение он превратит регулярное выражение в регулярное выражение без учета регистра. Похоже, что Vim имеет свой собственный способ указать регулярное выражение без учета регистра.
13 ответов
вам нужно использовать \c
escape-последовательности. Итак:
/\ccopyright
сделать обратное (case чувствительный совпадающие), используйте \C
вместо.
а также предложения для \c
и ignorecase
, Я нахожу smartcase
очень полезно. Если вы ищете что-то, содержащее символы верхнего регистра, он будет выполнять поиск с учетом регистра; если вы ищете что-то чисто строчный, он будет делать поиск без учета регистра. Вы можете использовать \c
и \C
переопределить это:
:set ignorecase
:set smartcase
/copyright " Case insensitive
/Copyright " Case sensitive
/copyright\C " Case sensitive
/Copyright\c " Case insensitive
посмотреть:
:help /\c
:help /\C
:help 'smartcase'
вы можете установить ic
опция в Vim перед поиском:
:set ic
чтобы вернуться к поиску с учетом регистра, используйте:
:set noic
ic
сокращенно от ignorecase
для переключения между регистром и нечувствительным поиском я использую это сопоставление в моем .vimrc
nmap <F9> :set ignorecase! ignorecase?
как другие предложили:
:set ic
но классный материал - вы можете переключать такие режимы с помощью:
:set ic!
как @huyz упоминают, иногда желаемое поведение использует поиск без учета регистра, но с учетом регистра замены. Мое решение для этого:
nnoremap / /\c
nnoremap ? ?\c
С этим всегда, когда вы нажмете /
или ?
он будет добавить \c
для поиска без учета регистра.
вы можете использовать в своем vimrc
команды:
-
set ignorecase
- все ваши поиски будут нечувствительны к регистру -
set smartcase
- ваш поиск будет чувствителен к регистру, если он содержит буквы верхнего регистра
необходимо указать ignorecase
Если вы хотите использовать smartcase
обеспечивает.
Я недавно написал статья о командах поиска Vim (как встроенная команда, так и лучшие плагины для эффективного поиска).
Vim имеют 2 режима
1.режим редактирования
- нормальный режим (Esc)
поиск будет работать в обычном режиме
/ \c для чувствительных к регистру
/ \cпоиск