2011-09-28 74 views
1

在我的.vimrc结束时,我想有条件地启动打开我的TODO列表的命令。Vim有什么方法可以测试我在开始时没有打开文件吗?

问题是我只想要当我使用vimgvim时的行为。

而目前,我还加载缓冲区,如果我启动vim foo.bar,这是非常不方便的,因为我要切换回foo.bar

所以基本上我希望能够写类似:

if (some condition telling me that I am on the defaut buffer) 
    silent LaunchTaskList 
endif 
+0

另请参见:“[在.vimrc里如何测试通过文件名参数?](http://stackoverflow.com/questions/6256884/in-vimrc-how-to-test-for-passed-文件名-参数)”。 –

回答

4

那么,当你运行Vim时,你总是有一个缓冲区。这听起来像你真正想要做的检查是基于文件参数是否给了Vim,因此参数列表是空的。为此,您可以使用argc函数。

if argc() == 0 
    ... 
endif 
+0

也许检查'buffer_number(“$”)“对1是另一种选择。 – Benoit

+0

谢谢。理论上,如果我用某些选项启动'vim',可能会失败,但我不记得曾经使用过任何选项。 –

+0

@XavierT。,不,argc函数只是告诉你Vim的内部参数列表是多少(c.f.,:help arglist),所以选项不会对这个选项产生影响。 – jamessan

相关问题