我在 Windows 的主目录中有 a task.otl
,它是一种 Todo 列表,使用vim-outliner格式。
当启动不带参数的 gvim 时,我会自动加载它。但是,我只想打开一次。所以我想.vimrc
在新会话中打开它之前检查我的交换文件是否存在。
无论我做什么,
:echo filereadable(expand("$HOME/task.otl"))
总是正确返回1
。它也适用于我的主目录中的其他文件。
但是,如果我尝试,
:echo filereadable(expand("$HOME/.task.otl.swp"))
它总是返回0
。(即使文件存在于目录中)
为了完整起见,我也尝试过glob()
:echo glob(expand("$HOME/task.otl"))
返回完整路径
:echo glob(expand("$HOME/.task.otl.swp"))
返回一个空字符串...
进一步的测试: test.swp
未找到 &test.fwp
已找到。所以这绝对是扩展的问题。
我试过set suffixes -= .swp
没有成功。
删除允许使用 glob() 进行查找,但.swp
不能...wildignore
test.swp
.task.otl.swp
所以我的问题是如何测试 Vimscript 中交换文件的存在?也欢迎其他解决方案。