Vim检测当前缓冲区是什么类型的缓冲区

时间:2014-09-20 20:38:16

标签: vim

我制作插件的想法是,如果缓冲区为空,那么您将进入插入模式,否则您将保持正常模式。

当然这一切都很好,但你遇到了一些问题,如果你刚刚打开Vim并且你在默认的空缓冲区并且你不想在那个缓冲区做任何事情怎么办?你必须先进入正常模式,然后进行:e魔术。这是不可取的,因为它需要更多的工作。

所以我的问题是,如何检测当前缓冲区是否是真实文件,无论它是否存在于文件系统中。

例如,我想检测缓冲区是否是JS文件,无论是新文件还是预先存在的文件。或者,如果缓冲区是NERDTree缓冲区或插件缓冲区,那么这种东西。

谢谢。任何帮助表示赞赏。 :)

P.S。:对于那些感兴趣的人,这是插件:https://github.com/Greduan/vim-empty-insert

1 个答案:

答案 0 :(得分:1)

if expand('%:p') != ''
    " do stuff
endif

请参阅:h %:p:h expand()

顺便说一句,对不起,如果这听起来很粗鲁,但是我想很多长时间的Vim用户在进入缓冲区时会自动按 a / i ,不管它是否存在于驱动器上。因此,您可能需要考虑保持功能更加一致。