Saya telah menambahkan fitur ini sekarang ke Dired + .
Anda dapat menggunakan C-y
(perintah diredp-yank-files
) untuk menempelkan file, yang nama absolutnya Anda salin ke kill ring, ke direktori saat ini. "Direktori saat ini" di sini adalah apa yang dired-current-directory
dikembalikan: subdirektori yang dimasukkan tempat kursor berada, atau direktori utama Dired jika kursor tidak ada dalam daftar subdir.
Dengan arg awalan, C-y
alih-alih meminta Anda untuk direktori target untuk menempel. Jadi Anda tidak perlu berada dalam buffer Dired untuk menempelkan file ke direktori.
Anda harus menyalin nama file ke ring bunuh menggunakan M-0 w
atau M-x diredp-copy-abs-filenames-as-kill
.
Di Dired + perintah-perintah itu juga mengatur variabel diredp-last-copied-filenames
ke string nama file yang sama. C-y
menggunakan nilai variabel itu, bukan apa pun yang saat ini ada di kepala cincin bunuh. Ini berarti bahwa Anda tidak perlu menempel segera setelah Anda menyalin nama file. Dan itu berarti bahwa Anda dapat, alih-alih menyalin nama file ke ring bunuh, cukup masukkan nama-nama itu dalam variabel tersebut (mis. Secara terprogram).
Ketika Anda menggunakan C-y
, Anda akan diminta untuk konfirmasi ( y
atau n
). Anda juga dapat menekan l
(untuk "daftar") ketika diminta, untuk menampilkan daftar file yang akan ditempelkan.
Anda juga dapat menyalin file yang ditandai dari buffer Dired saat ini dan semua file yang ditandai dalam subdirektori yang ditandai, ditentukan secara rekursif . Untuk itu Anda gunakan M-0 M-+ M-w
(nol awalan arg dengan perintah diredp-copy-filename-as-kill-recursive
) atau gunakan M-x diredp-copy-abs-filenames-as-kill-recursive
.
Perhatikan bahwa dengan Dired + Anda juga dapat dengan mudah memiliki buffer Dired yang mencantumkan sejumlah file dan direktori, dari mana saja. Artinya, entri yang terdaftar tidak perlu berada di direktori yang sama atau bahkan di direktori terkait. Lihat C-x D F
(perintah diredp-dired-for-files
), yang ada di menu menu-bar Dir sebagai item Dired Files Located Anywhere . Anda dapat menandai dan kemudian menempel (menyalin) file sewenang-wenang tersebut dari buffer Dired ke direktori mana pun.
Pembaruan 2019-04-22:
Saya juga menambahkan kemampuan untuk memindahkan (bukan hanya menempel) file yang (absolut) namanya Anda salin ke ring bunuh ke direktori saat ini (atau yang lain). Ini terikat C-w
dalam Dired.
diredp-move-files-named-in-kill-ring
adalah fungsi Lisp interaktif di dired+.el
.
(diredp-move-files-named-in-kill-ring &optional DIR NO-CONFIRM-P DETAILS)
Pindahkan file, yang nama absolutnya Anda salin, ke direktori saat ini.
Dengan arg awalan non-negatif Anda malah diminta untuk direktori target.
Dengan arg awalan non-positif Anda dapat melihat detail tentang file jika Anda menekan l
ketika diminta untuk mengkonfirmasi menempel. Kalau tidak, Anda hanya melihat nama file. Rincian yang Anda lihat ditentukan oleh opsi
diredp-list-file-attributes
.
Anda harus menyalin daftar nama file sebagai string ke ring bunuh menggunakan M-0 w
atau M-x diredp-copy-abs-filenames-as-kill
. Perintah-perintah itu juga mengatur variabel diredp-last-copied-filenames
ke string yang sama. diredp-move-files-named-in-kill-ring
menggunakan nilai variabel itu, bukan apa pun yang saat ini ada di kepala cincin bunuh.
Saat dipanggil dari Lisp:
- Arg opsional
NO-CONFIRM-P
berarti jangan meminta konfirmasi untuk pindah.
- Arg opsional
DETAILS
dilewatkan ke diredp-y-or-n-files-p
.
C-w
memindahkan / mengganti nama file alih-alih menyalin? Terima kasih