Как найти "/*" в МЕНЬШЕ?

Когда я делаю git diff HEAD^! (чтобы изменить изменения в HEAD commit), вывод передается LESS, Мне нужно искать содержимое различий для /* (начало комментария в стиле C). Я не смог заставить это работать. Я нажал клавишу слеша на клавиатуре, чтобы начать поиск. Я пробовал:

//*
//\*
/\/\*

Ни одна из этих работ (первая / это запустить режим поиска в LESS).

1 ответ

Решение

Когда вы вводите / в меньшей степени следующее выражение является регулярным выражением. В качестве таких, * имеет особое значение там; /* таким образом ищет ноль или более экземпляров /,

Чтобы любой символ не имел особого значения, вы можете ввести его как класс символов:

/[/][*]

... гарантирует, что оба символа, которые вы ищете, обрабатываются буквально. Это работает и в других контекстах регулярных выражений (grep и т. Д.).


Тем не менее, вышеупомянутое несколько более параноидально, чем необходимо. В моих тестах ниже работают также:

//[*]
//\*

Заимствуя из этого прекрасного ответа, после нажатия/ чтобы начать поиск, вы можете нажать Ctrl + R, чтобы отключить регулярные выражения.

Это замечательно, если вы хотите вставить длинную строку, полную специальных символов для поиска, и не хотите экранировать каждый из них вручную!

Другие вопросы по тегам