Meine Dateien haben lange Dateinamen und ein Teil des Dateinamens ist ein Datum und eine Versionsnummer. Oft möchte ich die Datei unter fast gleichem Namen im Puffer speichern , einfach Versionsnummer oder Datum ändern.
Dies wäre viel einfacher, wenn ich einen Befehl hätte, der den Dateinamen des aktuellen Puffers in den Kill-Ring legt, damit ich eine Datei öffnen kann, dann C-x C-w
tippe (schreibe Datei), ziehe den aktuellen Namen mit Cy, ändere ihn und speichere es.
Ich verwende Emacs 24.3 unter Windows und 24.4 unter Linux. Ich muss aus verschiedenen Gründen unterschiedliche Dateinamen und keine git verwenden. Ich würde mich freuen, wenn dieser Befehl mit AUCTeX / LaTeX als Hauptmodus funktioniert.
Bearbeiten 1:
Ich habe einen Fehler gemacht: Ich möchte nicht tippen C-x C-f
(= Datei suchen), sondern C-x C-w
(= Datei schreiben). Ich habe das oben korrigiert.
Bearbeiten 2:
Du hast eine doppelte Frage und Antwort gefunden: /unix//a/45381 Aber es gibt keine bessere Antwort!
Edit 3:
Hier: http://www.gnu.org/software/emacs/manual/html_node/elisp/File-Name-Components.html ist eine Funktion, die den "Nicht-Verzeichnis" -Teil des Dateinamens auswählt:
Funktion: Dateiname-Nicht-Verzeichnis-Dateiname
This function returns the nondirectory part of filename. (file-name-nondirectory "lewis/foo") ⇒ "foo" (file-name-nondirectory "foo") ⇒ "foo" (file-name-nondirectory "lewis/") ⇒ ""
Wenn ich nur lisp wüsste ...
Antworten:
Es ist nicht nötig, das alles zu tun.
Einfach:
C-x C-w
. Sie werden aufgefordert, einen neuen Dateinamen einzugeben.M-n
drücken, wird der aktuelle Dateiname für Sie eingefügt.RET
, um die Datei unter diesem neuen Namen zu speichern.Sie haben immer noch die Originaldatei. Wenn Sie darauf zurückkommen möchten, besuchen Sie es einfach erneut mit
C-x C-f
.quelle
ido
, tun SieC-f
zuerst und dannM-n
.Kopieren des Dateinamens in den aktuellen Puffer
Hier ist eine Funktion, die ich aus dem Blog von Cameron Desautels verwende und die den aktuellen Namen der Pufferdatei kopiert und im Minipuffer anzeigt.
Umbenennen des Dateinamens im aktuellen Puffer
Magnar Sveen hat die folgende Funktion in einem seiner Blogs implementiert, die den aktuellen Puffer bequem auf einmal umbenennt. Dies ist nicht das, wonach Sie gefragt haben, aber ich dachte, es könnte mit Ihrem Anwendungsfall zusammenhängen.
quelle
(buffer-file-name)
zu(file-name-nondirectory (buffer-file-name))
in der ersten Funktion Dateinamen sans Verzeichnis.