Поиск символа обратной косой черты в vim - PullRequest
8 голосов
/ 13 июля 2009

Как искать слово start \word в vim. Я могу сделать это с помощью меню поиска. Есть ли другие способы для этого?

Ответы [ 4 ]

16 голосов
/ 13 июля 2009

Попробуйте:

/\\word

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

4 голосов
/ 13 июля 2009

Вы можете искать практически все, что угодно в вашем документе, используя регулярные выражения. В обычном режиме введите «/», затем начните вводить регулярное выражение и нажмите клавишу ввода. «\ <» будет соответствовать началу слова, поэтому </p>

/\<foo

будет соответствовать строке 'foo', но только там, где она находится в начале слова (в большинстве случаев ей предшествует пробел).

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

/\<\\foo

Найдет шаблон '\ foo' в начале слова.

3 голосов
/ 14 июля 2009

Не имеет отношения к делу (/\\word - правильное решение, и здесь ничего не изменится), но для вашей информации:

:h magic

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

/\V^.$

будет искать буквальную строку ^.$ вместо «строк ровно одного символа» (\v «очень магический» и «магический» режим по умолчанию \m) или «строк ровно одного периода» ( \M «номагический» режим).

3 голосов
/ 13 июля 2009

Причина поиска чего-либо, включая «\», заключается в том, что «\» является специальным символом и должен быть экранирован (с добавлением обратной косой черты)

Аналогично, для поиска «$ 100», который включает специальный символ «$»:

Press /
Type \$100
Press return

Для поиска "abc", который не содержит специального символа:

Press /
Type abc
Press return
...