web-dev-qa-db-ja.com

Windows上の.vimrcへのシンボリックリンクにより、書き込み時にファイルが読み取り専用になります。どうして?

.vimrcファイルを中央の場所(dropboxフォルダー、hgリポジトリー)に配置しました。

Windows 7では、ホームフォルダーからシンボリックリンクしました(不思議なことに、管理者として実行する必要がありました。そうしないと、「アクセス許可がありません」)。

C:\users\Me>mklink .vimrc C:\users\me\dropbox\dotfiles\.vimrc

set backupcopy=yes(ここにあります: gVIMはWindowsのシンボリックリンクを壊しますか? )を使用して上書きの問題を修正した後、別の問題が発生します。変更したファイルを保存すると、実際の.vimrcdropbox/dotfilesフォルダー内)は、(:wを使用して)保存するとすぐに読み取り専用フラグを取得します。

どうしてこれなの?どうすればこれを防ぐことができますか?

6
Rabarberski

Windows XPマシンまたは管理者権限のないWindows7で使用するシンボリックリンクの問題を解決する別の方法を提案できます。

1行で_vimrcファイルを作成します

source /path/to/real/vimrc

実際のvimrcファイルの$MYVIMRC変数を更新します。

let $MYVIMRC='/path/to/real/vimrc'

$MYVIMRCの値を変更すると、さまざまなシステムで正しいvimrcファイルを参照する場合に役立ちます(たとえば、ファイルを再読み取りする自動コマンドで)。

11
xaizek