Percorso corrente in Dired o Dired + negli Appunti


18

Supponiamo di avere un buffer Dired aperto su alcune directory. Come posso inviare il percorso della directory negli Appunti?

Inoltre, come posso fare lo stesso quando il cursore Dired si trova su un file specifico, senza prima aprire il file?

Risposte:


25

Spostare il cursore sulla riga di intestazione della directory (dove viene visualizzata la directory, ad esempio, utilizzare M-<), quindi premere w. Questo copia il nome della directory sul kill ring. ( wcopia qualsiasi nome di file da Dired e funziona anche per l'intestazione della directory.)

E se non l'hai già fatto, personalizza x-select-enable-clipboardsu non- nil, quindi la selezione viene copiata negli appunti.


Il commento di @Costantino fa un buon punto. Invece di passare alla riga di intestazione della directory per ottenere il nome assoluto, puoi semplicemente utilizzare C-0 wsu qualsiasi file o riga di directory. Ciò inserirà il nome file assoluto negli Appunti. Quando lo incolli puoi semplicemente rimuovere la relativa parte del nome file, per ottenere il nome assoluto della directory.


16
Penso che valga la pena ricordare che C-h k win un diredbuffer si dice "Con un arg del prefisso zero, utilizzare il nome file assoluto di ciascun file contrassegnato.", Ovvero "premere C-0 wper ottenere il percorso assoluto".
Costantino,

@Constantine: buon punto. Ho aggiornato la risposta per menzionarlo.
Drew

5
@Constantine: potresti usare "0 w" (è la stessa cosa di "C-0 w" in un buffer diretto)
jfs

In modalità diretta usare "C-0 w". Questo percorso completo copia (percorso + nome file) per uccidere l'anello.
a_subscriber,

1

Ho impostato x-select-enable-clipbarda tcome suggerito, ma non ha funzionato. Uso questo pezzo di codice da qui: http://blog.binchen.org/posts/copy-file-name-or-full-path-of-file-in-emacs-dired-buffer-into-system-clipboard .html

;; {{ copy the file-name/full-path in dired buffer into clipboard
;; `w` => copy file name
;; `C-u 0 w` => copy full path
(defadvice dired-copy-filename-as-kill (after dired-filename-to-clipboard activate)
  (with-temp-buffer
    (insert (current-kill 0))
    (shell-command-on-region (point-min) (point-max)
                             (cond
                              ((eq system-type 'cygwin) "putclip")
                              ((eq system-type 'darwin) "pbcopy")
                              (t "xsel -ib")
                              )))
  (message "%s => clipboard" (current-kill 0))
  )
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.