开发者社区 问答 正文

LINUX 目录中有一个 -y 文件

LINUX 目录中有一个 -y 文件, 格式为文件, 权限是664

vim 后
screenshot
编辑不可推出, ctrl+d 之类的都不行

求解这是什么东东, 之前没见过

展开
收起
a123456678 2016-06-28 14:32:22 2543 分享 版权
1 条回答
写回答
取消 提交回答
  • vim -y进入easy mode, 相当于直接执行evim, 是为初学者准备的模式, 最大的特点是保持在insert模式. 可通过Ctrl + L暂时进入普通模式, 再输入:q来退出.

    换句话说, -y被作为命令行选项来解释. 因为vim的启动可以不指定文件名.

    要编辑-y这个文件, 执行vim -- -y来打开.

    事实上, 无论是创建还是编辑还是删除-y文件, 都需要加--, 在命令和-y之间.

    touch -- -y #创建
    rm -- -y #删除
    echo "" > -y #创建
    和全半角没有关系, 事实上, 所有全角字符, 都不会被当作选项来解析.

    至于, 为什么优先将-y作为选项, 而不是文件? 这是命令行参数解析的问题. 基本上所有的参数解析库, 先解析选项, 再解析剩余的参数. 更何况, -开头的都被默认作为选项.

    也就是说, 无论程序是否支持-y选项, 支持就像vim这样, 不支持则提示非法选项, -y都不会作为文件名提供给程序, 至少Linux系统下是这样的, 因为Windows默认的选项前缀是/, 但也支持-.

    2019-07-17 19:48:18
    赞同 展开评论