在 Vim 正常模式下,该0命令会将您带到该行的第一列并^带您到该行的逻辑起点(例如第一个非空白字符)。在正则表达式世界中,^匹配行中的第一个字符,无论是否有空格。Vim 是否有一个行为类似于它的 '^' 命令的模式——匹配一行的逻辑开头?
Kar*_*ldt 18
匹配一行中的第一个非空白字符没有捷径,您必须自己构建模式,例如:
^\s*restofpattern
Run Code Online (Sandbox Code Playgroud)
如果您不想在匹配中包含空格,则必须使用零宽度断言,例如:
\(^\s*\)\@<=restofpattern
Run Code Online (Sandbox Code Playgroud)
不完全漂亮,但至少它完成了工作。
要匹配第一个非空白字符,您只需\S像往常一样使用即可。
如果您^在 vim 中使用正则表达式,它将匹配行的实际开头,即使它包含空格。
例如,这一行以空格开头:
<- there's a space there you can't see :)
Run Code Online (Sandbox Code Playgroud)
这个 vim 命令将删除前导空格:
:%s/^ //
Run Code Online (Sandbox Code Playgroud)
结果如下:
<- there's a space there you can't see :)
Run Code Online (Sandbox Code Playgroud)
因此,即使命令没有,正则表达式也会如您所愿。
| 归档时间: |
|
| 查看次数: |
21244 次 |
| 最近记录: |