Wildcards

Vim 中的萬用字元沒有按預期工作——如何從範例中刪除二進制列?

  • January 2, 2021

我試圖在我的八進制幫助函式中刪除二進制列。

第一個回顯在第 70 行,我想刪除**|000**和相同的模式.. first | + 所有迴聲線的三個數字。

所以我試過這個:

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

所有三個的結果是E486: Pattern not found

我必須在這裡逃避什麼還是我做錯了什麼?

# 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-------';
}

如果你堅持在 vim 中這樣做:

如果您只想刪除八進制數和以下管道,僅此而已:刪除 2 個管道之間第一次出現的 3 個 0to7 數字:

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

編輯:根據給出的例子更新

引用自:https://unix.stackexchange.com/questions/627267