Vim 中的通配符未按预期工作 – 如何从示例中删除二进制列?

Vim 中的通配符未按预期工作 – 如何从示例中删除二进制列?

我尝试删除八进制帮助函数中的二进制列。
第一个 echo 在第 70 行,我想删除|000和相同的模式..首先| + 所有回声线的三个数字。
所以我尝试过这个:

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

三人的结果都是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 中执行此操作:

如果您只想删除八进制和以下管道,仅此:删除 2 个管道之间第一次出现的 3 个 0to7 数字:

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

编辑:根据给定的示例进行更新

相关内容