Vim shell命令(c标志)在bash中表现不同

时间:2014-03-09 21:09:14

标签: bash shell vim macvim

如果我在终端(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

1 个答案:

答案 0 :(得分:0)

起初:

ls -al

并且看到您的文件已存在...如果您的文件是test,请确保vim不会创建此类文件:

.test OR test~ OR something like these

然后:

vim file

做你的改变......

之后关闭它说:

:wq!

然后尝试再次打开它......问题应该解决

<强>更新

试试这个:

ls -a | grep swp

如果有类似的文件:.script.swp或类似的东西你应该删除它们......

你的问题将会解决......你应该看看你的脚本是否与.script....一起存在,你应该删除它......

如果找不到以 . 开头的文件,请尝试将所有文​​件(脚本)移动到另一个目录,然后使用它们......并使用:q!并使用:wq!来保存并且相当......