[英]Programmatically execute vim commands?
我有兴趣为开发Vim脚本和rc文件设置TDD环境。 举个简单的例子,假设我想按下tab键时vim插入8个空格。 我会设置一个执行以下操作的脚本:
通过vim中的默认配置,这将失败。 但是,一旦我将set expandtab
添加到我的.vimrc文件中,测试就会通过。
如何以编程方式发出这些命令? vim -c <commands>
已关闭,但似乎只适用于ex模式命令。 有什么建议? 这个问题似乎是彻底的谷歌证明。
使用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 。 虽然这是一个非常奇怪的方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.