符号链接到 Windows 上的 .vimrc 使文件在写入时只读。为什么?

Rab*_*ski 7 windows vim symbolic-link vimrc

我已将我的.vimrc文件放在一个中央位置(dropbox 文件夹,也是一个 hg 存储库)。

在 Windows 7 下,我从我的主文件夹符号链接到它(奇怪的是,我必须以管理员身份执行此操作,否则我得到了“无权限”):

C:\users\Me>mklink .vimrc C:\users\me\dropbox\dotfiles\.vimrc
Run Code Online (Sandbox Code Playgroud)

通过使用set backupcopy=yes(在此处找到:gVIM 会破坏 Windows 上的符号链接?)修复覆盖问题后,我遇到了另一个问题。当我保存修改后的文件时,真正的.vimrc(在我的dropbox/dotfiles文件夹中)在我保存(使用:w)后立即获得只读标志。

为什么是这样?我怎样才能防止这种情况?

xai*_*zek 12

我可以提出另一种解决符号链接问题的方法,我在没有管理权限的 Windows XP 机器或 Windows 7 上使用它。

_vimrc用一行创建文件

source /path/to/real/vimrc
Run Code Online (Sandbox Code Playgroud)

并更新$MYVIMRC真实vimrc文件中的变量,例如

let $MYVIMRC='/path/to/real/vimrc'
Run Code Online (Sandbox Code Playgroud)

更改值$MYVIMRC对于vimrc在不同系统上引用正确的文件(例如在重新读取它的自动命令中)很有用。