我正在编写一个在命令行上运行的脚本,我希望能够使用Vim自动将一些静态文本附加到文件中。
这是我所拥有的简化版本:
insert_text() {
vim -s ./text.txt new.txt;
}
然后它将通过键入insert_text在命令行上运行。在text.txt里面,我尝试过诸如以下内容:
iSome Text:wq
这使我进入插入模式并编写文本,但是我不知道如何以这种方式离开插入模式。 :wq从不工作,而是写入new.txt。
答案 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