Car*_*ker 6 windows cygwin vim
我看到 vim、Cygwin 工具和 Windows7 之间存在奇怪的交互。我不认为这是一个错误,但与此同时,我不知道如何解释我所看到的。
我在以下位置安装了 Vim(来自 vim.org,而不是 Cygwin vim):
"C:\Program Files (x86)\Vim".
Run Code Online (Sandbox Code Playgroud)
我 cd 到这个目录并使用 vim 本身编辑了我的 _vimrc 文件。
vim _vimrc
Run Code Online (Sandbox Code Playgroud)
我添加了一些设置,写出文件,然后退出。
然后,我将该文件复制到其他目录以创建更改的备份。
copy _vimrc c:\tmp
Run Code Online (Sandbox Code Playgroud)
那个时候我注意到了这个问题。该文件的副本不包含我的更改。随后进行了大量调查。我将总结调查结果。
在 "C:\Program Files (x86)\Vim" 中,如果我使用以下任何一项检查文件,我会看到我的更改:
vim, cat, less
Run Code Online (Sandbox Code Playgroud)
(这里, cat 和 less 是 Cygwin 版本。)
但是,如果我使用以下任何一项检查文件,我看不到我的更改:
notepad, type, more
Run Code Online (Sandbox Code Playgroud)
(命令类型和更多是标准的 Windows shell 命令。)
给你一个味道:
c:\Program Files (x86)\Vim>ls -l _vimrc
-rwx------+ 1 carlx Domain Users 936 Dec 23 21:15 _vimrc
c:\Program Files (x86)\Vim>dir _vimrc
Volume in drive C is OSDisk
Volume Serial Number is 6C86-85EB
Directory of c:\Program Files (x86)\Vim
06/28/2011 02:09 PM 901 _vimrc
1 File(s) 901 bytes
0 Dir(s) 95,964,721,152 bytes free
Run Code Online (Sandbox Code Playgroud)
Cygwin ls 命令显示与 Windows dir 命令不同的文件(不同的日期和大小)。
我认为这可能是文件名大小写的某种问题,但是将 _VIMRC 与 _vimrc 指定给这些命令中的任何一个都没有区别。
谁能解释一下我在这里看到的?
正如 Raymond Chen 和 @kreemoweet 在他们的评论中推测的那样,这是一个文件系统虚拟化问题,我在以下位置找到了该文件:
c:\users\<youraccoutname>\appdata\local\virtualstore\program files(86)
这就是答案。多谢你们。