LINUX 目录中有一个 -y 文件

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

vim 后

clipboard.png

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

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

阅读 3.5k
2 个回答

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默认的选项前缀是/, 但也支持-.

应该是在敲某条命令的时候不小心把 - 打成全角的 - 导致的吧

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题