【问题标题】:Get vim to write files to Program Files in Windows获取 vim 将文件写入 Windows 中的 Program Files
【发布时间】:2014-03-11 03:05:53
【问题描述】:

当我使用 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\" 从中创建它们。有什么想法为什么,以及如何避免这种情况发生?

【问题讨论】:

  • :pwd:echo expand('%:p') 是否提供有用的线索?
  • 这些命令都将当前目录显示为“C:\Program Files (x86)\Vim\vimfiles\ftplugin\”,尽管如我的编辑所示,这些文件实际上并不存在,而是其他地方。
  • 可能是Edit中的第二个路径是第一个路径的快捷方式。
  • 事实并非如此。

标签: windows vim


【解决方案1】:

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

有几种方法可以解决这个问题:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-29
    • 1970-01-01
    • 1970-01-01
    • 2011-01-30
    相关资源
    最近更新 更多