Frage

Ich habe Vim73 unter Windows und versuche, Dateien über den Dateibrowser zu verschieben.

Es wurde mir eine Fehlermeldung angezeigt, dass „move“ nicht ausführbar sei (siehe dieser Beitrag).Nach einigem Debuggen stellte ich fest, dass das Problem bei mir lag vim73\autoload\netrw.vim Datei.Ich habe den Befehl zum Verschieben zum Laufen gebracht, aber es gibt noch ein anderes Problem – offenbar das Verzeichnis, in dem ich suche :Ex ist nicht mein aktuelles Arbeitsverzeichnis, also das mv.exe Der Befehl (von UnxUtils) kann die Quelle oder das Ziel nicht finden.

Die Zeile von netrw, die die Probleme verursacht, ist diese:

 let ret= system(g:netrw_localmovecmd." ".shellescape(fname)." ".shellescape(s:netrwmftgt))

Ich habe versucht, das einzupacken shellescape() Funktionen in expand(), aber das schien nicht zu helfen.

Irgendeine Idee, wie ich den absoluten Pfad für die Quelle und die Ziele ermitteln kann?

War es hilfreich?

Lösung 2

Nun, wie sich herausstellt, wenn sich Ihr Cursor auf dem befindet .. In der Dateiliste wird davon ausgegangen, dass es sich um ein Verzeichnis handelt.

Alles, was ich wirklich tun musste, war, den Cursor in den Bannerbereich zu bewegen, bevor ich es versuchte mt - oder mt aus dem übergeordneten Verzeichnis.

Hoppla!

Andere Tipps

Anstatt nach dem absoluten Weg zu suchen, würde ich mich festlegen g:netrw_keepdir bis 0 für Sie arbeiten?Es ist nicht genau das, was Sie wollen (was meiner Meinung nach darin besteht, das vim-CWD zu nehmen und es auf netrw anzuwenden, statt umgekehrt), aber wenn Sie damit einverstanden sind, netrw zum Verwalten Ihres vim-CWD zu verwenden, funktionieren Ihre Befehle möglicherweise einfach wie es ist.

Bearbeiten:Ansehen :help netrw-c für die ausführliche Erklärung.Der c Der Befehl in netrw könnte ausreichen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top