У вас почти было правильное решение.Вы хотите:
\<1\>
Это потому, что каждый угловой кронштейн должен быть экранирован.В качестве альтернативы вы можете использовать:
\v<1>
Флаг \v
указывает vim обрабатывать больше символов как особые без необходимости экранирования (например, (){}+<>
все становятся специальными, а не буквальными текстами. Читать :h /\v
Подробнее об этом.
Отличным справочником для изучения регулярных выражений в vim является vimregex.com . Символы \<\>
описаны в разделе 4.1 «Якоря».
Если вы хотите сопоставить текст, например 1.23
, это тоже возможно. Два разных подхода:
Измените параметр iskeyword
, включив в него .
.также повлияет на то, как w
движется
Используйте \v<1(\d|.)@!
, что в основном означает "1 в начале слова, что не , за которым следуеткакая-то другая цифра или точка. "