В обычном режиме Vim 0
команда переводит вас в первый столбец строки и ^
возвращает вас к логическому началу строки (например, к первому непробельному символу). В мире регулярных выражений, ^
соответствует первый символ в строке, пробел или нет. Есть ли в Vim шаблон, который ведет себя как его команда '^' - соответствует логическому началу строки?
20
Ответы:
Там нет ярлыка для сопоставления с первым непробельным символом в строке, вы должны создать шаблон самостоятельно, например:
Если вы не хотите включать пробелы в соответствие, вы должны использовать утверждение нулевой ширины, например:
Не совсем красиво, но, по крайней мере, это делает работу.
источник
Для того, чтобы соответствовать первому нон -whitespace характер, вы бы просто использовать ,
\S
как вы обычно делаете.Если вы используете
^
регулярное выражение в vim, оно будет соответствовать фактическому началу строки, даже если оно содержит пробелы.Например, эта строка начинается с пробела:
Эта команда vim удалит начальный пробел:
в результате чего:
Таким образом, регулярное выражение будет вести себя так, как вы ожидаете, даже если команда этого не делает.
источник
^
Оператор (как и все здравомыслящие реализации регулярных выражений), будет соответствовать первый символ , даже если это пробел.\S
соответствия первому непробельному символу.\S
будет соответствовать любому непробельному символу. Иными словами, мне интересно , если Vim имеет нулевой ширины стенографии для этого есть:^\W*\S
.