2016-09-14 1 views
0

ist Das Verzeichnis, um das es hier geht, ist C:\Program Files (x86)\Vim, und die betroffene Datei ist eine Kopie von _vimrc. Das System ist Windows 10. Dasselbe Verhalten unter cmd.exe und Powershell. Die vim Version ist 7.4.Vim in der Windows-Befehlszeile sieht gelöschte Dateien, während gVim nicht


ich eine Textdatei in einem Verzeichnis erstellt, lassen Sie uns sagen, dass es einen Dateinamen „xxx“ hat, dann löschte ich diese Datei. Der Befehl DIR (oder LS unter Powershell) zeigt, dass die Datei gelöscht wird, und auch del xxx oder rm xxx melden, dass "xxx nicht existiert".

Unter der Befehlszeile vim ist immer noch in der Lage, diese Datei im selben Verzeichnis zu sehen, während gvim diese Datei nicht sehen kann. Nämlich, vim xxx wird den ursprünglichen Inhalt anzeigen, während gvim xxx wird sagen, dass die Datei xxx nicht existiert und wird eine neue erstellen.

vim . zeigt auch, dass die gelöschte Datei noch existiert, während gvim . das Gegenteil zeigt.

Seltsamerweise, wenn die Befehlszeile als Administrator ausgeführt wird, werden vim und gvim die Datei nicht angezeigt, und vim . zeigt auch, dass die gelöschte Datei nicht da ist.


Es scheint ähnliches Verhalten in allen "Systemverzeichnisse" erscheint. Nämlich, wenn ich vim (Befehlszeile; nicht-Admin) verwenden, um eine neue Datei in einem Systemverzeichnis zu erstellen, wird diese Datei nicht mit dem DIR oder gvim Befehl angezeigt, aber vim wird in der Lage sein Sehen und ändern Sie es.

+2

Wenn eines der Programme ein Prozess 32bit ist und das andere ist ein 64-Bit-Prozess, könnte jeder einen anderen Ordner zu lesen sein. –

Antwort

0

Ich finde heraus, dass das Problem auf den Virtualisierungsmechanismus von Windows zurückzuführen ist.

Wenn ein Nicht-Admin-Benutzer versucht, eine Datei unter dem Systemordner zu erstellen, Windows wird die Datei in ein Verzeichnis lokal für den Benutzer unbemerkt umleiten, die unter ist C:\Users\YourName\AppData\Local\VirtualStore\, und diese Datei verhält sich, als ob es unter dem vorgesehenen Verzeichnis.

Siehe http://www.symantec.com/connect/articles/folder-virtualization-concepts-windows-vista