Ответ 1
Вам нужно использовать escape-последовательность \c
. Итак:
/\ccopyright
Чтобы сделать обратное (соответствие с учетом регистра), используйте \c
вместо этого.
Я бы хотел найти слово в верхнем регистре, например COPYRIGHT в файле. Я попытался выполнить поиск, например:
/copyright/i # Doesn't work
но это не сработает. Я знаю, что в Perl, если я дам флаг i
в регулярное выражение, он превратит регулярное выражение в не зависящее от регистров регулярное выражение. Кажется, что у Vim есть свой собственный способ указать не зависящее от регистров регулярное выражение.
Вам нужно использовать escape-последовательность \c
. Итак:
/\ccopyright
Чтобы сделать обратное (соответствие с учетом регистра), используйте \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
Вы можете выполнить команду
:set ignorecase
и после этого ваши поисковые запросы будут нечувствительны к регистру.
Для переключения между чувствительным к регистру и нечувствительным поиском я использую это сопоставление в моем .vimrc
nmap <F9> :set ignorecase! ignorecase?
поместите эту команду в свой файл vimrc
set ic
всегда нечувствительный к регистру поиск
Как предложили другие:
:set ic
Но классный материал Вы можете переключать такие режимы с помощью:
:set ic!
Как упоминает @huyz, иногда желаемое поведение - это поиск без учета регистра, но с учетом регистра. Мое решение для этого:
nnoremap / /\c
nnoremap ? ?\c
С этим всегда, когда вы нажмете /
или ?
, он добавит \c
для поиска без учета регистра.
Я предпочитаю использовать \c
в конце строки поиска:
/copyright\c
Vim имеет 2 режима
Режим 1.edit
Поиск будет работать в нормальном режиме
/\ c для чувствительности к регистру
/\ csearch
Вы можете установить ignorecase
по умолчанию, запустите его в командной оболочке
echo "set ic" >> ~/.vimrc
vim[grep]
.:vimgrep /example\c/ &