Vimのワイルドカードは期待どおりに機能しません。例からバイナリ列を削除する方法は?

Vimのワイルドカードは期待どおりに機能しません。例からバイナリ列を削除する方法は?

8進ヘルパー関数からバイナリ列を削除してみました。
最初のエコは70行目にありますが、削除したいです。|000そして同じパターンです。すべてのエコラインについて最初の| + 3つの数字。
だから私はこれを試しました:

  • :70,77s/*|[01][01][01]*/
  • :70,77s/*|[0-1][0-1][0-1]*/
  • :70,77s/*|[0..1][0..1][0..1]*/

3つすべての結果は次のとおりです。E486:パターンが見つかりません
ここで脱出する必要があるのでしょうか、それとも私が何か間違っているのでしょうか?

# octal will show octal permission scheme for chmod command
function octal {
        echo "|0|000|---|";
        echo "|1|001|--x|";
        echo "|2|010|-w-|";
        echo "|3|011|-wx|";
        echo "|4|100|r--|";
        echo "|5|101|r-x|";
        echo "|6|110|rw-|";
        echo "|7|111|rwx|";
        echo 'Example: chmod 777 file = -rwxrwxrwx';
        echo 'Example: chmod 600 file = -rw-------';
}

ベストアンサー1

vimでこれに固執する場合:

8進数と次のパイプのみを削除するには、次のようにします。 2つのパイプの間にある0〜7の数字の最初の3つの項目を削除します。

:70,77s/|[01]\{3}|/|/ 

編集:与えられた例に基づいて更新されました。

おすすめ記事