vim поиск без учета регистра

Как искать в Vim / Vi

В этой статье описывается, как выполнять поисковые операции в Vim / Vi.

Vim или его предшественник Vi предустановлен в macOS и большинстве дистрибутивов Linux. Поиск текста — одна из самых распространенных задач при работе с файлами. Знание основ Vim может быть очень полезным, когда вы сталкиваетесь с ситуацией, когда ваш любимый редактор недоступен.

Базовый поиск

Для поиска в Vim вы должны быть в обычном режиме. Когда вы запускаете редактор Vim, вы находитесь в этом режиме. Чтобы вернуться в нормальный режим из любого другого режима, просто нажмите клавишу Esc.

vim

Важно отметить, что команда поиска ищет шаблон как строку, а не целое слово. Если, например, вы искали «gnu», поиск совпадет с тем, что «gnu» встроено в слова большего размера, такие как «cygnus» или «magnum».

Нажмите n для поиска следующего вхождения или N в верхнем регистре для поиска в обратном направлении.

Основные шаги для выполнения поиска в Vim следующие:

Искать слово целиком

Например, для поиска «gnu» вы должны использовать / :

vim word

Искать в текущем слове

История поиска

Чувствительность к регистру

По умолчанию в результатах поиска учитывается регистр; поиск «GNU» не будет соответствовать «Gnu».

Чтобы игнорировать регистр :set ignorecase или :set ic в командной строке Vim. Вы также можете установить регистр игнорирования как вариант по умолчанию, добавив команду в ваш файл

Другой способ принудительно игнорировать регистр — добавить c после шаблона поиска. Например, /Linuxc выполняет поиск без учета регистра. Верхний регистр C после шаблона приводит к поиску совпадения по регистру.

Выводы

Не стесняйтесь оставлять комментарии, если у вас есть вопросы.

Источник

Как выполнять поиск без учета регистра в Vim

Я хочу найти в файле слово в верхнем регистре, например COPYRIGHT. Я пробовал выполнить такой поиск:

Но это не работает. Я знаю, что в Perl, если я передаю флаг i в регулярное выражение, он превратит регулярное выражение в регулярное выражение без учета регистра. Похоже, что у Vim есть свой способ указать регулярное выражение без учета регистра.

15 ответов

Вы можете использовать escape-последовательность \c в любом месте шаблона. Например:

/\ccopyright или /copyright\c или даже /copyri\cght

Чтобы сделать обратное (соответствие с чувствительным регистром), используйте вместо этого \C (заглавная C).

Вы можете установить опцию ic в Vim перед поиском:

Чтобы вернуться к поиску с учетом регистра, используйте:

Вы можете подать команду

И после этого ваш поиск будет нечувствительным к регистру.

nmap :set ignorecase! ignorecase?

Вы можете использовать в своем vimrc следующие команды:

Недавно я написал статью о командах поиска Vim (как встроенных командах, так и лучших плагинах для поиска эффективно).

Как предлагали другие:

Но самое интересное в том, что вы можете переключать такие режимы с помощью:

e4ftH

Поместите эту команду в свой файл vimrc

Всегда выполнять поиск без учета регистра

Я предпочитаю использовать \c в конце строки поиска:

Как упоминает @huyz, иногда желаемое поведение заключается в использовании поиска без учета регистра, но при замене с учетом регистра. Мое решение для этого:

У Vim есть 2 режима

1. режим редактирования

Поиск будет работать в обычном режиме

/ \ c для чувствительного к регистру

/\cпоиск

Вы можете установить ignorecase по умолчанию, запустите это в оболочке

Некоторая важная информация, если вы хотите узнать больше о командах vim, как указано ниже, вы можете попробовать следующие шаги:

Lw1Pk

pPzr5

Я очень надеюсь, что предоставленная информация будет кому-то полезна.

Источник

Найти и заменить в Vim / Vi

В этой статье описывается, как найти и заменить текст в Vim / Vi.

Vim — самый популярный текстовый редактор командной строки. Он предустановлен в macOS и большинстве дистрибутивов Linux. Найти и заменить текст в Vim быстро и легко.

Базовый поиск и замена

В Vim вы можете найти и заменить текст с помощью команды :substitute ( :s ).

Чтобы запускать команды в Vim, вы должны находиться в обычном режиме, который используется по умолчанию при запуске редактора. Чтобы вернуться в обычный режим из любого другого режима, просто нажмите клавишу «Esc».

Общая форма команды замены следующая:

Команда ищет в каждой строке в [range] и заменяет его . [count] — положительное целое число, умножающее команду.

Например, чтобы найти первое вхождение строки ‘foo’ в текущей строке и заменить его на ‘bar’, вы должны использовать:

Чтобы заменить все вхождения шаблона поиска в текущей строке, добавьте флаг g

Если вы хотите найти и заменить шаблон во всем файле, используйте процентный символ % в качестве диапазона. Этот символ указывает диапазон от первой до последней строки файла:

Если часть опущена, она рассматривается как пустая строка, и соответствующий шаблон удаляется. Следующая команда удаляет все экземпляры строки ‘foo’ в текущей строке:

Вместо символа косой черты ( / ) можно использовать любой другой однобайтный символ, кроме буквенно-цифрового, кроме разделителя. Этот параметр полезен, если в шаблоне поиска или в строке замены есть символ «/».

Для подтверждения каждой замены используйте флаг c

Вы также можете использовать регулярные выражения в качестве шаблона поиска. Приведенная ниже команда заменяет все строки, начинающиеся с ‘foo’ на ‘Vim is the best’:

Чувствительность к регистру

По умолчанию операция поиска чувствительна к регистру; поиск «FOO» не будет соответствовать «Foo».

Чтобы игнорировать регистр для шаблона поиска, используйте флаг i

Другой способ принудительно игнорировать регистр — добавить c после шаблона поиска. Например, /Linuxc выполняет поиск без учета регистра.

Если вы изменили настройку регистра по умолчанию и хотите выполнять поиск с учетом регистра, используйте флаг I

Верхний регистр C после шаблона также приводит к поиску совпадения по регистру.

Диапазон поиска

Если диапазон не указан, подстановочная команда работает только в текущей строке.

Например, чтобы заменить все вхождения ‘foo’ на ‘bar’ во всех строках, начиная со строки 3 по строку 10, вы должны использовать:

Диапазон является включительным, что означает, что первая и последняя строки включены в диапазон.

Спецификатор строки также может быть установлен с помощью символа «+» или «-», за которым следует число, которое добавляется или вычитается из номера предыдущей строки. Если число после символа опущено, по умолчанию используется 1.

Например, чтобы заменить каждое ‘foo’ на ‘bar’, начиная с текущей строки и четырех следующих строк, введите:

Замена всего слова

Команда замены ищет образец как строку, а не целое слово. Если, например, вы искали «gnu», поиск совпадет с тем, что «gnu» встроено в слова большего размера, такие как «cygnus» или «magnum».

Для поиска всего слова введите чтобы отметить начало слова, введите шаблон поиска, введите > чтобы отметить конец слова:

Например, для поиска слова «foo» вы должны использовать :

История замены

Примеры

Строки комментариев (добавьте # перед строкой) от 5 до 20:

Раскомментируйте строки с 5 по 20, отмените предыдущие изменения:

Замените все экземпляры «яблоко», «апельсин» и «манго» на «фрукты»:

Удалите завершающие пробелы в конце каждой строки:

Вывод

Поиск и замена — это мощная функция Vim, которая позволяет быстро вносить изменения в текст.

Не стесняйтесь оставлять комментарии, если у вас есть вопросы.

Источник

Как выполнить поиск без учета регистра в Vim

Я хотел бы найти слово в верхнем регистре, например, COPYRIGHT в файле. Я попытался выполнить поиск как:

но это не работает Я знаю, что в Perl, если я передам i флаг в регулярное выражение, оно превратит регулярное выражение в регистр без учета регистра. Кажется, что у Vim есть свой собственный способ указать регистронезависимое регулярное выражение.

Вы можете использовать \c escape-последовательность в любом месте шаблона. Например:

/\ccopyright или /copyright\c или даже /copyri\cght

Чтобы сделать обратное ( сопоставление с учетом регистра ), используйте \C вместо него (заглавная C).

А также предложения для \c и ignorecase я считаю smartcase очень полезным. Если вы ищете что-то, содержащее заглавные буквы, поиск будет выполняться с учетом регистра; если вы ищете что-то чисто строчные, он будет выполнять поиск без учета регистра. Вы можете использовать \c и \C переопределить это:

Вы можете установить ic опцию в Vim перед поиском:

Чтобы вернуться к поиску с учетом регистра, используйте:

ic это сокращение для ignorecase

Вы можете выполнить команду

и после этого ваши поиски будут без учета регистра.

nmap :set ignorecase! ignorecase?

Вы можете использовать в vimrc этих командах:

Вам нужно установить, ignorecase если вы хотите использовать то, что smartcase обеспечивает.

Недавно я написал статью о командах поиска Vim (как встроенных в команду, так и лучшие плагины для эффективного поиска).

Источник

? Как выполнить поиск в Vim/Vi

VIM linux

vi (visual editor) – лучший редактор текстовых файлов командной строки для Unix-подобных операционных систем.

Vim – это улучшенная версия текстового редактора vi, используемого в современных системах.

Это текстовый редактор с широкими возможностями настройки.

Это руководство поможет вам найти текст, строку или шаблон в текстовом редакторе Vi (m).

Как искать в редакторе Vi (m)

Чтобы начать поиск в редакторе Vi (m), сначала нажмите клавишу ESC, чтобы переключиться в командный режим в редакторе.

Затем нажмите «/», а затем введите текст, который нужно найти.

1 1

Поиск без учета регистра в Vim

По умолчанию vim ищет совпадения с учетом регистра.

Чтобы искать шаблон во всех случаях, вам нужно отключить регистр с помощью команды set в vim.

Введите следующую команду в vim, чтобы отключить поиск с учетом регистра.

Затем снова выполните поиск некоторого текста, вы обнаружите, что выбор поиска игнорирует регистр.

Вы можете отменить указанные выше изменения, используя noignorecase с командой set.

Поиск по одному слову

Просмотр истории поиска

Vim хранит всю историю поиска, выполненного в текущем сеансе.

Чтобы просмотреть предыдущие поиски, нажмите / и используйте клавиши вверх и вниз

Заключение

Добавить комментарий Отменить ответ

• Свежие записи

• Категории

• itsecforu.ru

itsec

• Страны посетителей

rss IT is good

Источник

Понравилась статья? Поделить с друзьями:
Добавить комментарий
  • Как сделать успешный бизнес на ритуальных услугах
  • Выездной кейтеринг в России
  • Риски бизнеса: без чего не обойтись на пути к успеху
  • vim vi repellere licet в римском праве
  • viltel оплатить по номеру договора