470 Stimmen

Umbenennen der aktuellen Datei in Vim

Wie sollte ich meine aktuelle Datei in Vim umbenennen?

Zum Beispiel:

  • Ich bearbeite person.html_erb_spec.rb
  • Ich möchte, dass sie umbenannt wird in person.haml_spec.rb
  • Ich würde gerne weiter bearbeiten person.haml_spec.rb

Wie würde ich das auf elegante Weise tun?

526voto

soulmerge Punkte 70900

Der Befehl heißt :saveas aber leider wird Ihre alte Datei nicht gelöscht, das müssen Sie manuell tun. siehe :help saveas für weitere Informationen.

EDITAR:

Die meisten vim-Installationen haben einen integrierten Datei-Explorer, den Sie für solche Operationen verwenden können. Versuchen Sie :Explore im Befehlsmodus (ich würde das eigentlich einer Funktionstaste zuordnen, es ist sehr handlich). Sie können Dateien umbenennen mit R oder löschen Sie sie mit D zum Beispiel. Aber drücken <F1> im Explorer verschafft Ihnen einen besseren Überblick.

211voto

ISQ Punkte 2444

Wenn Sie Git verwenden und bereits das Plugin tpope's haben fluechtig.vim dann einfach:

:Gmove newname

Dies wird:

  1. Benennen Sie Ihre Datei auf der Festplatte um.
  2. Benennen Sie die Datei im Git Repo um.
  3. Laden Sie die Datei erneut in den aktuellen Puffer.
  4. Bewahren Sie die rückgängig gemachte Geschichte.

Wenn Ihre Datei noch nicht zu einem Git Repo hinzugefügt wurde, fügen Sie sie zuerst hinzu:

:Gwrite

111voto

woto Punkte 2608

Ich mache das mit dem NERDTree-Plugin:

:NERDTreeFind

dann drücken Sie m

Zum Umbenennen können Sie wählen (m)ove the current node und ändern Sie den Dateinamen. Außerdem gibt es Optionen wie Löschen, Kopieren, Verschieben usw...

91voto

innaM Punkte 46916

Es gibt eine kleines Plugin die Ihnen dies ermöglicht.

85voto

gimel Punkte 78080
  • Schreiben der Datei während der Bearbeitung - :w newname - um eine Kopie zu erstellen.
  • Beginnen Sie mit der Bearbeitung der neuen Kopie - :e# .
  • (Optional) entfernen Sie die alte Kopie - :!rm oldname .

Unter Windows ändert sich der optionale dritte Schritt ein wenig:

  • (Optional) alte Windows-Kopie entfernen - :!del oldname .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X