Vim 打开文件时插入文本
我正在尝试用vim编辑一个新文件。第一行应该是给定的文本字符串。 差不多Vim 打开文件时插入文本,vim,vi,Vim,Vi,我正在尝试用vim编辑一个新文件。第一行应该是给定的文本字符串。 差不多 vim -c ":insert TEXT" filename.txt 我正在寻找的行为是,filename.txt是用vim打开的,单词TEXT出现在第一行 上面的命令显然是错误的。。关于如何获得这种行为的任何建议 谢谢。为什么不简单地使用echo输出到文件并随后打开它呢 echo "TEXT" > filename.txt | vi filename.txt 复杂的解决方案: 这似乎正是你想要的。它不保存文件,
vim -c ":insert TEXT" filename.txt
我正在寻找的行为是,filename.txt是用vim打开的,单词TEXT出现在第一行
上面的命令显然是错误的。。关于如何获得这种行为的任何建议
谢谢。为什么不简单地使用echo输出到文件并随后打开它呢
echo "TEXT" > filename.txt | vi filename.txt
复杂的解决方案: 这似乎正是你想要的。它不保存文件,但插入文本
vim -c ':exe "normal iTEXT"' filename.txt
其工作原理相同,但在输入文本后退出插入模式:
vim -c ':exe "normal iTEXT\<Esc>"' filename.txt
vim将在第一行以“This is some text”(这是一些文本)打开,并且
-c
命令将在vim打开时调用:w filename.txt
命令。您可以与echo命令结合使用:
echo ":insert TEXT" | vim -c 'w filename.txt' -
我会用
$ vim -c "put='insert text here'" foo.txt
如果你被额外的空行所困扰,那就去做吧
$ vim -c "put='insert text here'|2d" foo.txt
您也可以尝试使用
调用append(0,'TEXT')
(未测试),而不是使用:put
此解决方案将在打开之前创建文件。这是我不想要的。解决方案提供了相同的行为。文件会立即保存。我想要的行为是只允许用户在需要时保存文件。我明白了。我想我现在更明白你的问题了。虽然您没有提到您不希望立即保存该文件。但不确定是否有解决方案。我已用有效的解决方案更新了我的答案。
$ vim -c "put='insert text here'|2d" foo.txt