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默认的选项前缀是/, 但也支持-.
vim -y进入easy mode, 相当于直接执行evim, 是为初学者准备的模式, 最大的特点是保持在insert模式. 可通过Ctrl + L暂时进入普通模式, 再输入:q来退出.换句话说,
-y被作为命令行选项来解释. 因为vim的启动可以不指定文件名.要编辑
-y这个文件, 执行vim -- -y来打开.事实上, 无论是创建还是编辑还是删除
-y文件, 都需要加--, 在命令和-y之间.和全半角没有关系, 事实上, 所有全角字符, 都不会被当作选项来解析.
至于, 为什么优先将
-y作为选项, 而不是文件? 这是命令行参数解析的问题. 基本上所有的参数解析库, 先解析选项, 再解析剩余的参数. 更何况,-开头的都被默认作为选项.也就是说, 无论程序是否支持
-y选项, 支持就像vim这样, 不支持则提示非法选项,-y都不会作为文件名提供给程序, 至少Linux系统下是这样的, 因为Windows默认的选项前缀是/, 但也支持-.