Vim检测当前缓冲区的类型
我正在制作一个插件,其中的想法是,如果缓冲区是空的,那么你将进入插入模式,否则你将保持在正常模式 当然,这一切都很好,但是您遇到了一些问题,如果您刚刚打开Vim,并且处于默认的空缓冲区中,并且不想在该缓冲区中执行任何操作,该怎么办?您必须先进入正常模式,然后执行Vim检测当前缓冲区的类型,vim,Vim,我正在制作一个插件,其中的想法是,如果缓冲区是空的,那么你将进入插入模式,否则你将保持在正常模式 当然,这一切都很好,但是您遇到了一些问题,如果您刚刚打开Vim,并且处于默认的空缓冲区中,并且不想在该缓冲区中执行任何操作,该怎么办?您必须先进入正常模式,然后执行:e魔术。这是不可取的,因为它需要更多的工作 所以我的问题是,如何检测当前缓冲区是否为真实文件,是否存在于文件系统中 例如,我想检测缓冲区是否是JS文件,无论是新的还是预先存在的。或者,如果缓冲区是NERDTree缓冲区或插件缓冲区,这类
:e
魔术。这是不可取的,因为它需要更多的工作
所以我的问题是,如何检测当前缓冲区是否为真实文件,是否存在于文件系统中
例如,我想检测缓冲区是否是JS文件,无论是新的还是预先存在的。或者,如果缓冲区是NERDTree缓冲区或插件缓冲区,这类东西
多谢各位。感谢您的帮助。:)
注:对于那些感兴趣的人,这是一个插件:
请参见:h%:p
和:h expand()
顺便说一句,如果这听起来很粗鲁的话,很抱歉,但是我猜很多长期使用Vim的用户在进入缓冲区时会自动按下a/I,而不考虑它是否存在于驱动器上。所以你可能会考虑保持功能更一致。这涵盖了文件系统问题。谢谢!:)是的,你是对的,人们可能已经习惯了在新文件中进入插入模式。但可能有人想要这个,我想我也可以。你永远不知道,也许有一天这就是你想要的附言:我把你的
==#
编辑成了=代码>按照我的愿望工作。:)
if expand('%:p') != ''
" do stuff
endif