我想在 Vim 中使用替换来手动取消缩进(而不是做 <)
所以我这样做:
:%s/^(^I)?//g
但它没有找到模式。我究竟做错了什么?
您可能需要使用\(
and\)
而不是(
and )
。此外,请确保^I
是单个字符(例如,使用 control-v TAB 创建)而不是两个(例如,使用 '^' 和 'I' 创建)。最后,我不确定您是否甚至需要/想要?
.
Vim 不理解您似乎使用的 Perl-ish 正则表达式语法。一定是:
%s/^\t\?//
不是必需的(...)
,必须写为\(...\)
。除了\t
,您还可以按Ctrl+ V Tab,或使用通用原子作为空格\s
。
我意识到这个问题要求替换,但我觉得有必要提出一些提供类似功能的前命令:
:%<
:1,5<
:g/pattern/<
:%left
或:%le
简称如需更多帮助,请参阅:
:h :<
:h :g
:h :left
:h :range