获取vim将文件写入Windows中的Program Files

时间:2014-03-11 03:05:54

标签: windows vim

当我使用vim创建并打开文件时,即" vim new.txt"它在像我的桌面这样的文件夹中工作正常。但是,当我在" C:\ Program Files(x86)\ Vim \ vimfiles \ ftplugin \"我尝试使用" vim python.vim创建一个文件"或者" vim new.txt",vim打开并且似乎工作正常,但在我保存文件并退出vim之后,它在文件夹中不存在。但是,如果我键入" vim python.vim"再次重新打开(显然不存在的)文件,vim愉快地出现在我离开的文件中,并不存在。有人能告诉我发生了什么以及如何解决它吗?

编辑:在我的文件系统中搜索不存在的文件,将它们显示在" C:\ Users \ Daniel \ AppData \ Local \ VirtualStore \ Program Files(x86)\ Vim \ vimfiles \ ftplugin"而不是" C:\ Program Files(x86)\ Vim \ vimfiles \ ftplugin \"他们是从哪里创建的。但是,任何想法,以及如何使这不发生?

1 个答案:

答案 0 :(得分:1)

您遇到的是%ProgramFiles%位置的文件系统重定向(与%WINDIR%下的Windows系统文件相同),因为您是未在提升帐户下运行。从Windows Vista开始,当启用用户帐户控制(UAC)时,您无法再直接访问系统文件和已安装的应用程序(出于安全考虑)。 Windows会检测软件安装程序并提示您提升帐户,但它不会检测到Vim的访问,并且(为了向后兼容)会将这些访问重定向到 VirtualStore

有几种解决方法:

  • 关闭UAC(糟糕的主意,降低安全性)
  • 启动GVIM的提升实例(在“开始”菜单中搜索gvim,然后选择 Ctrl + Shift + Enter ),用它编辑。
  • 通过在vimfiles%HOME%为您)创建C:\Users\Daniel目录而不是$VIM/vimfiles来避免此问题,并将配置放在那里(请参阅:help vimrc