自动化Vim脚本以将文本写入文件

时间:2018-11-28 09:22:15

标签: vim

我正在编写一个在命令行上运行的脚本,我希望能够使用Vim自动将一些静态文本附加到文件中。

这是我所拥有的简化版本:

insert_text() {
    vim -s ./text.txt new.txt;
}

然后它将通过键入insert_text在命令行上运行。在text.txt里面,我尝试过诸如以下内容:

iSome Text:wq

这使我进入插入模式并编写文本,但是我不知道如何以这种方式离开插入模式。 :wq从不工作,而是写入new.txt。

2 个答案:

答案 0 :(得分:0)

这将在第1行的开头附加1

more_buttons = browser.find_elements_by_name('more')
for more_button in more_buttons:
        more_button.click()

当您从终端运行命令并希望Vim在此之后退出时,请执行someText而不是vim -c "1 s/^/someText" -c "wq" test.txt 。例如:

:wq

答案 1 :(得分:0)

如果只想将文本追加到文件,则不需要任何特殊工具。例如,您可以使用:

echo "Some text" >> myfile.txt

或者如果您的文字块很大

>>myfile.txt cat <<EOF
some
long
block of text
EOF

如果需要在文件开头,则可以使用临时文件来执行此操作。例如:

echo "Some Text" | cat - myfile.txt > /tmp/file && mv /tmp/file myfile.txt