Se si dispone di Emacs 24.4 o più recente, il modo più semplice per farlo è la nuova funzione delete-duplicate-lines
. Si noti che
- questo funziona su una regione, non è un buffer, in modo da selezionare il testo desiderato prima
- mantiene l'ordine relativo degli originali, uccidendo i duplicati
Ad esempio, se il ingresso è
test
dup
dup
one
two
one
three
one
test
five
M-x delete-duplicate-lines
renderebbe
test
dup
one
two
three
five
Si ha la possibilità di cercare dall'indietro anteponendolo con l'argomento universale (C-u
). Il risultato sarebbe quindi
dup
two
three
one
test
five
merito va a emacsredux.com.
Altre opzioni rotonda, che non danno abbastanza lo stesso risultato, disponibili tramite ESHELL:
sort -u
; non mantiene l'ordine relativo degli originali
uniq
; peggio ha bisogno di un suo input per essere ordinato
Invece di usare il kill-ring, puoi semplicemente salvare il contenuto in una variabile associata a 'let'. –
Grazie per il consiglio! – ymn
Grazie per l'aiuto! – toolchainX