Non è possibile direttamente, come altri hanno già sottolineato, ma ovviamente puoi scrivere una sceneggiatura per questo. Eccone uno che mi è venuto in mente quando ho dovuto modificare molti collegamenti simbolici
#! /bin/bash
tmp=$(mktemp)
trap "rm $tmp" EXIT
while [ ! -z "$1" ]; do
filename="$1"; shift
if [ ! -h "$filename" ]; then
echo "Not a symlink: $filename";
continue
fi
stat -c "%N" "$filename" >> $tmp
done
emacs $tmp
while read filename linkname; do
ln -sf "$linkname" "$filename"
done < <(sed "s/'\(.*\)' -> '\(.*\)'/\1 \2/" $tmp)
Ha funzionato per me, ma certamente non è perfetto, quindi usalo a tuo rischio e pericolo...
È possibile in linea di principio, ma l'editor dovrebbe supportarlo in modo specifico, poiché la lettura della destinazione di un collegamento simbolico richiede una chiamata di sistema speciale:readlink()
.
È improbabile trovare editor che lo facciano effettivamente, dal momento che non è molto utile ed è in conflitto con ciò che la maggior parte degli utenti desidera che l'editor faccia quando viene chiesto di aprire un collegamento simbolico:aprire il file a cui punta.
Come per Archiviazione di collegamenti simbolici sezione nell'articolo di Wikipedia Collegamenti simbolici, i collegamenti simbolici sono memorizzati in un inode . Questo inode è una struttura dati contenente diverse informazioni sul file in questione - come da questo thread, il touch
comando può essere utilizzato per modificare alcuni dei suoi valori. Quindi, potrebbe non essere possibile modificarlo utilizzando un editor di testo, a causa dei problemi menzionati da @Wyzard, ma potrebbe essere modificabile utilizzando altri strumenti da riga di comando come touch
.
Spero che questo aiuti!
Sì, in Emacs questo è possibile in modalità dired, in particolare in modalità wdired (director scrivibile).
Nota, dired e wdired sono entrambi pacchetti integrati.
Ecco un esempio...
(A proposito:sto usando Smex per dare a Emacs M-x
comando di ricerca ed esecuzione di un'interfaccia utente più ergonomica + corrispondenza fuzzy)