如何用单行Vim命令创建并写入内容到指定路径文件?
解决方法
你的问题出在没有让Vim进入插入模式就输入文本,Vim会把这些文本当作命令执行,自然不会写入文件。以下是几种可行的单行命令修改方案:
方案一:修改管道输入内容
在文本前添加插入模式命令i,用\e代表ESC键退出插入模式,再执行保存退出:
echo -e 'iThis is some text.\n\e:wq' | vim -E -s /Volumes/DummyVolume/mytest.txt
方案二:直接用Vim的-c参数执行命令
通过-c参数依次传入插入命令、内容、退出插入模式和保存命令:
vim -E -s /Volumes/DummyVolume/mytest.txt -c "iThis is some text." -c "\ewq"
方案三:使用ex模式简化命令
ex是Vim的行编辑模式,语法更简洁:
ex -s /Volumes/DummyVolume/mytest.txt -c "i" -c "This is some text." -c "." -c "wq"
这里的.是ex模式中退出插入模式的命令,替代ESC键。
内容的提问来源于stack exchange,提问作者nova_rubo
相关产品推荐
相关产品推荐

