Dato ~/foo/bar
, posso /home/sds/foo/bar
usare expand-file-name
.
Tuttavia, dato /Users/sds/foo/bar
, come posso ottenere ~/foo/bar
?
Caso d'uso: voglio copiare un file tra computer e hanno percorsi fisici diversi nella mia directory home.
Dato ~/foo/bar
, posso /home/sds/foo/bar
usare expand-file-name
.
Tuttavia, dato /Users/sds/foo/bar
, come posso ottenere ~/foo/bar
?
Caso d'uso: voglio copiare un file tra computer e hanno percorsi fisici diversi nella mia directory home.
Risposte:
Usa la funzione abbreviate-file-name
. C-h f
dice:
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`).
Vedi anche il manuale Elisp, nodo Directory Names .