我可以删除除vim中的缩进之外的标签吗?即不要删除每行开头的标签。
以下是\t
表示标签的示例:
SELECT \t\t col1, col2 \t
\t SELECT \t\t\t col1 \t\t col2
\t\t SELECT \t\t\t col1 \t\t col2
我想删除文件中的所有空格,但用于缩进的标签除外如下:
SELECT col1, col2
\t SELECT col1, col2
\t\t SELECT col1, col2
答案 0 :(得分:2)
:%s/[^\t]\zs\t\+//g
[^\t]
匹配标签以外的任何内容,\zs
重置匹配的开头,\t\+
匹配1个或多个标签。因此,删除任何非制表符(即不在行的开头)的所有制表符。
答案 1 :(得分:0)
\(^\t*\)\@<= \s*
这意味着:
\(^\t*\)
是一系列缩进标签\@<=
表示后面应该有一系列缩进标签\s*
是一个空格,可选地后跟更多的空格