【发布时间】:2014-04-12 20:24:13
【问题描述】:
如果我在终端(Mac OSX)中运行它:
vim dump.md -c 'vsplit poa.md' -c 'split one.md' -c ':wincmd h'
效果很好(使用这些文件创建三个窗口)。
如果我将它作为 bash 脚本的一部分,那就有问题了。在完成它应该做的事情之后,它在 vim 状态行中留下了这个:
1:dump.md 2:poa.md 3:one.md
1:dump.md 2:poa.md 3:one.md
Press ENTER or type command to continue
我必须按 ENTER 6 次才能清除状态行并返回编辑(每个 ENTER 再次输出上述内容)。
无论如何?
另外,不确定这是否重要,但 vim 是 mvim (MacVim) 的别名。
编辑
这是 bash 脚本,虽然我认为这并不重要,但在手动输入 vim dump.md... 命令之前,我已经单独运行了整个脚本,它运行良好。
13
12 #!/bin/bash
11
10 cd ~/Dropbox/Journal/dumps/
9
8 LAST=`ls -tAF | grep '/$' | head -1`
7 NEW=dump-$(date +"%Y-%m-%d_%T")
6
5 mkdir $NEW
4 cd $NEW
3
2 cp ../$LAST/poa.md ./poa.md
1
14 vim dump.md -c 'vsplit poa.md' -c 'split one.md' -c ':wincmd h'
1
【问题讨论】:
-
请在您执行此操作的地方发布 bash-script-part
-
正如你所说,它也适用于我的命令行。尝试使用
#!/bin/bash -x作为你的shebang,这可能会揭示一些东西。顺便说一句,我在 ubuntu 上... -
调试输出看起来很干净。感谢您的提示
-
我尝试了您的脚本的修改版本(将 LAST 和 NEW env.var 硬编码为 'foo' 和 'bar')并且效果很好。我也在使用 OS X (10.6.8)。也许您的启动文件中有一些东西正试图写入标准输出。尝试将
-u添加到vim行。 -
对不起,我是想写
vim -u NONE。这应该会阻止插件和其他启动文件运行。我也认为它可能是一个插件。