EDITDirectory-Änderungen nach dem Öffnen bestimmter Dateien
Das Szenario geändert. Entschuldigen Sie, wenn Sie die Frage etwas zu früh stellen.
beim Öffnen einer Datei (vim filename.ext
oder :e filename.txt
, etc.), wenn die CWD ~/Sites/A
ist, Vim Änderungen an anderen CWD (~/Sites/B
).
Ich fand heraus, dass vim tut dies wegen einer Datei in meinem ~/.vim/view/
Ordner, genannt ~=+Sites=+B=+src=+filename.txt=
.
Die Datei innerhalb ~/.vim/view/
enthält:
let s:so_save = &so | let s:siso_save = &siso | set so=0 siso=0
argglobal
setlocal fdm=manual
setlocal fde=0
setlocal fmr={{{,}}}
setlocal fdi=#
setlocal fdl=0
setlocal fml=1
setlocal fdn=20
setlocal fen
silent! normal! zE
let s:l = 200 - ((13 * winheight(0) + 11)/23)
if s:l < 1 | let s:l = 1 | endif
exe s:l
normal! zt
200
normal! 030|
lcd ~/Sites/B
let &so = s:so_save | let &siso = s:siso_save
doautoall SessionLoadPost
" vim: set ft=vim :
Warum ist die Linie lcs ~/Sites/B
in dieser Datei stehen? Innerhalb gab es nie eine Datei namens filename.ext
.
Aus Gründen der Vollständigkeit, das ist meine Frage, bevor ich den Fehler lokalisiert:
Wenn ich vimgrep etwas in einer Code-Basis in ~/Sites/a
befindet (zB :vimgrep DateCell src/**/*
) in ein anderes Verzeichnis aktuelle Arbeitsverzeichnis Änderungen des vim ~/Sites/B
.
Jeder nachfolgende Aufruf an vimgrep
oder einen anderen Arbeitsverzeichnis-bewussten Befehl schlägt fehl oder gibt falsche Ergebnisse zurück, da es im Verzeichnis ~/Sites/B
arbeitet.
Was könnte das verursachen?
Was ich tun, um den Fehler/falsches Verhalten zu erreichen:
cd ~/Sites/A
vim
vimgrep something src/**/*
:!pwd
zeigt~/Sites/B
:quit
pwd
01 zeigt
EDIT
Es stellt sich heraus, dass die Verzeichnisänderung geschieht auch, wenn ich nicht vimgrep
verwenden. Ich weiß immer noch nicht, was den Fehler verursacht.
BTW: Es ist immer das gleiche Verzeichnis (~/Sites/B
), vim ändert sich zu. Egal in welchem Verzeichnis ich arbeite.
Vim Version: 8.0.2
OS Version: OS X 10.10.5
Es passiert, wenn ich eine Datei mit NERDTree öffnen. Aber nicht immer. Nur bei einigen Dateien. –
'vimgrep' macht das nicht, wie Sie bemerkt haben; Möglicherweise möchten Sie den Fragentitel aktualisieren. Es ist wahrscheinlich, dass ein Plugin, das Sie verwenden, dies tut, oder Sie haben eine 'cd' oder' lcd' irgendwo in Ihrer '.vimrc'. Versuche Plugins zu entfernen, um den Schuldigen zu identifizieren. –
Danke, Jim. Ich habe alle Plugins außer NERDTree deaktiviert. Problem bleibt. Ich habe herausgefunden, dass die Ursache NICHT so ist, wie in meiner Frage beschrieben. Aber beim Öffnen einer Datei von NERDTree. Was soll ich mit der falschen Frage machen? Irgendjemand eine Idee? Das Ändern des Titels wird nicht ausreichen. Soll ich für löschen und eine neue Frage erstellen? –