Mes fichiers ont des noms de fichiers longs et une partie du nom de fichier est une date et un numéro de version. Souvent, j'aimerais enregistrer le fichier dans le tampon en utilisant presque le même nom, il suffit de changer le numéro de version ou la date.
Ce serait beaucoup plus facile, si j'avais une commande qui met le nom de fichier du tampon actuel dans le kill ring, afin que je puisse ouvrir un fichier, puis taper C-x C-w
(écrire un fichier), taper le nom actuel avec Cy, le changer et enregistrer il.
J'utilise Emacs 24.3 sous Windows et 24.4 sous Linux. Je dois utiliser des noms de fichiers différents et non git pour diverses raisons. Je serais heureux si cette commande fonctionnait avec AUCTeX / LaTeX comme mode principal.
Modifier 1:
J'ai fait une erreur: je ne veux pas taper C-x C-f
(= trouver le fichier), mais C-x C-w
(= écrire le fichier). J'ai corrigé cela ci-dessus.
Modifier 2:
Trouvé une question et une réponse en double: /unix//a/45381 Mais il n'y a pas de meilleure réponse!
Modifier 3:
Ici: http://www.gnu.org/software/emacs/manual/html_node/elisp/File-Name-Components.html est une fonction qui sélectionne la partie "non-répertoire" du nom de fichier:
Fonction: nom-fichier-non-répertoire nom de fichier
This function returns the nondirectory part of filename. (file-name-nondirectory "lewis/foo") ⇒ "foo" (file-name-nondirectory "foo") ⇒ "foo" (file-name-nondirectory "lewis/") ⇒ ""
Si seulement je connaissais le lisp ...
Réponses:
Il n'est pas nécessaire de faire tout cela.
Simplement:
C-x C-w
. Vous serez invité à entrer un nouveau nom de fichier.M-n
et le nom de fichier actuel sera inséré pour vous.RET
pour enregistrer le fichier sous ce nouveau nom.Vous aurez toujours le fichier d'origine. Si vous voulez y revenir, visitez-le à nouveau avec
C-x C-f
.la source
ido
, faites d'C-f
abord et ensuiteM-n
.Copie du nom du fichier dans le tampon courant
Voici une fonction que j'utilise du blog de Cameron Desautels qui copie le nom du fichier tampon actuel et l'affiche dans le mini-tampon.
Renommer le nom du fichier dans le tampon actuel
Magnar Sveen a implémenté la fonction ci-dessous dans l' un de ses blogs qui renomme facilement le tampon actuel en une seule fois. Ce n'est pas ce que vous avez demandé mais j'ai pensé que cela pouvait être lié à votre cas d'utilisation.
la source
(buffer-file-name)
en(file-name-nondirectory (buffer-file-name))
dans la première fonction pour obtenir le nom de fichier sans répertoire.