7

私は試し:s%/{//gてみ:s%/\{//gました。vimでブレースを見つけて置き換える(実際には削除する)にはどうすればよいですか?

ありがとう。

編集: s の前に % を付けるつもりだったので、タイプミスしただけかもしれません。迅速な回答をありがとうございました。

4

3 に答える 3

15

@chaos の拡張機能

文字 (つまり、左中かっこ、角かっこやかっこ{と混同しないでください ) ... をエスケープする必要はありません。[(

おそらく、すべての中かっこを削除することを意味します。パーセント記号は、's' の後ではなく前にある必要があります。すべての範囲で検索を実行することを意味します。

したがって、次のようにします。

:%s/{//g
:%s/}//g

すべて完了!

VIM 範囲を読むことを検討する必要があります。たとえば、現在の行から最大 10 行下まで置換するには、次のようにします。

:.,.+10s/}//g
于 2012-06-27T16:39:36.777 に答える
5

:s/{//g正常に動作します。なぜあなたはそれを%の後に入れているのsですか?そうすることで、正規表現の区切り文字として示しています。これにより%、区切り文字のように書かれているため、残りのパターンが機能しなくなり/ます。

ああ、そうですか:%s/{//g

于 2012-06-27T16:37:35.387 に答える
5

現在の行だけでなく、ファイル全体で置き換えるには、%前に置く必要があります。s

:%s/{//g
于 2012-06-27T16:38:08.603 に答える