2012-06-29 7 views
0

我想用替代在Vim裏做手工unindentation(而不是做<)Vim的:做unindentation手動

所以我這樣做:

:%s/^(^I)?//g 

,但它沒有找到格局。我究竟做錯了什麼?

+0

你有 '魔力' 或 'nomagic' 設置? –

回答

1

Vim不理解您似乎使用的Perl-ish regexp語法。它必須是:

%s/^\t\?// 

(...)是沒有必要的,必須寫爲\(...\)。取而代之的\t,你也可以按下Ctrl鍵+V標籤,或使用通用原子爲空白\s

+0

問題中的'^ I'看起來像一個製表符。 – ephemient

1

您可能需要使用\(\)而不是()。此外,請確保^I是單個字符(例如,使用control-v TAB創建的)而不是兩個(例如,使用'^'和'I'創建的)。最後,我不確定你是否需要/想要?

0

我知道問一個替代的問題,但我覺得有必要提出一些前命令提供類似功能:

  • 降低1級縮進的整個文件::%<
  • 減少1級縮進表示1-5行的::1,5<
  • 降低1級縮進的用於線匹配圖案::g/pattern/<
  • 刪除全部縮進::%left:%le短期

如需更多幫助,請參見:

:h :< 
:h :g 
:h :left 
:h :range