我正在尝试模拟一个编辑器,作为为我正在开发的 CLI 编写功能测试的一部分。我需要模拟一个打开并直接退出而不保存的编辑器,以及一个以某种方式修改内容然后保存并退出的编辑器。
对于第一个测试,我这样做:
export EDITOR='vi -c :q!'
这似乎有效。
但我很难写第二个测试。我已经尝试过以下方法:
export EDITOR='vi -c ":Loremipsum" -c ":wq"'
(我安装了 Loremipsum 插件,但任何其他附加文本的命令也同样可以)。
以这种方式打开的文件实际上并没有被修改,所以我可以知道我做错了什么。我并没有专注于 -c 标志的文档,而且我找不到任何清晰的语法示例。我究竟做错了什么?
答案1
好吧,没关系,我明白了。我混淆了 Ex 模式和正常模式语法,冒号不是必需的。
export EDITOR='vi -c Loremipsum -c wq'
完全按照我的意愿做了。