我对设置用于开发Vim脚本和rc文件的TDD环境感兴趣。举个简单的例子,假设我想按下tab键时vim插入8个空格。我会设置一个执行以下操作的脚本:
通过vim中的默认配置,这将失败。但是,一旦我将set expandtab
添加到我的.vimrc文件中,测试就会通过。
如何以编程方式发出这些命令? vim -c <commands>
很接近,但似乎只适用于ex模式命令。有什么建议?这个问题似乎完全是谷歌证明。
答案 0 :(得分:5)
答案 1 :(得分:1)
使用vim是一项要求吗?如果不是你正在使用错误的工具,那么sed可能更合适。
但如果你必须,你可以用vim做到这一点,只需称它为ex
#!/bin/sh
# insert a tab as the first character of test_out
ex test_out <<EOF
s/^/^I/
wq
EOF
if [ `od -c test_out | awk 'NR == 1 {print $2}'` != '\t' ] ; then
echo "assertion failed"; exit 1;
fi
^I
实际上是 Tab 。虽然这是一个非常奇怪的方法。