Windows中的GVIM需要保留或纠正路径套管(例如,C:\ Windows vs. C:\ Windows)

Windows中的GVIM需要保留或纠正路径套管(例如,C:\ Windows vs. C:\ Windows)

我在 Windows 环境中使用 gvim,并使用 ClearCase 进行源代码控制。

我的问题是 Windows 路径不区分大小写,而 ClearCase 强制区分大小写。因此,在 gvim 中编辑文件时,路径不一定正确区分大小写(例如,c:\WiNdOwS\Something.txt 与 C:\Windows\Something.txt),因此当我尝试通过命令行在 gvim 中检查当前工作文件时,ClearCase 会出错并抱怨找不到该文件。

C:\WiNdOwS\Something.txt --> C:\Windows\Something.txt
   ^^^^^^^                      ^^^^^^^

有什么办法可以:

  1. 让 vim 自动更正路径大小写,或者,
  2. 使 clearcase 不关心大小写

现在,每当我想对源代码控制相关的文件执行任何操作时,我都必须确保路径大小写正确,或者打开 Windows 资源管理器......这太糟糕了。

答案1

您可以尝试使用expand('%:p'). 这应该会将当前文件名扩展为完整路径。

据我所见,它还会在 MS Windows 上返回具有正确大小写的字符串,但我自己还没有尝试过。

如果 expand 不起作用,你可能必须深入研究 win32 API 来获取路径的正确大小写,例如获取完整路径名()。我不确定是否可以直接从 vim 中使用它(无需破解 vim 源代码),但如果您将其包装成一个小程序,您当然可以从 vim 中调用它。如果您的 vim 编译时支持 Python,您可以使用 Python 的ctypes模块调用 win32 函数。

相关内容