Comment décompresser un nom de fichier?

8

Étant donné ~/foo/bar, je peux /home/sds/foo/barutiliser expand-file-name.

Cependant, étant donné /Users/sds/foo/bar, comment puis-je obtenir ~/foo/bar?

Cas d'utilisation: je veux copier un fichier entre des ordinateurs et ils ont des chemins physiques différents vers mon répertoire personnel.

sds
la source

Réponses:

9

Utilisez la fonction abbreviate-file-name. C-h fdit:

abbreviate-file-name is a compiled Lisp function in `files.el'.

(abbreviate-file-name FILENAME)

Return a version of FILENAME shortened using `directory-abbrev-alist`.
This also substitutes "~" for the user's home directory (unless the
home directory is a root directory) and removes automounter prefixes
(see the variable `automount-dir-prefix`).

Voir aussi le manuel Elisp, Noms de répertoires de nœuds .

A dessiné
la source