Saya memiliki daftar nama file (dengan path lengkap) dan saya ingin membuat buffer Dired yang berisi daftar file ini. Bagaimana saya bisa melakukan itu?
Bagaimana cara membuat buffer Dired dari daftar nama file?
Tanpa menggunakan dependensi eksternal.
(find-file your-directory-path)
untuk mendapatkandired
buffer yang relevan (mis.,(find-file "/tmp/")
Akan membukatmp
direktori Anda dalamdired
buffer).Jawaban:
C-h f dired
memberi tahu Anda jawabannya. Cukup berikandired
, sebagaiDIRNAME
argumen, daftar yang memiliki nama buffer Dired yang Anda inginkan (string apa pun) dan sebagai cdr daftar nama file yang ingin Anda daftarkan dalam buffer. Secara umum, Anda ingin menggunakan nama file absolut. Sebagai contoh:Bergantung pada platform Anda, nama file dan direktori yang tidak ada yang Anda masukkan mungkin diabaikan (tidak terdaftar), atau mungkin menimbulkan kesalahan. Yang pertama terjadi jika Anda menggunakan
ls-lisp.el
(misalnya MS Windows). Anda dapat memaksakan penggunaanls-lisp
pada platform apa pun, jika Anda suka (tetapils-lisp
memiliki lebih sedikitls
opsi), dengan melakukan ini:Jika Anda menggunakan library Dired + (
dired+.el
) maka Anda dapat secara interaktif memilih file dan direktori yang akan didaftarkan : cukup berikandired
argumen awalan non-positif (yaitu, <= 0). Anda kemudian diminta berulang kali untuk direktori dan nama file yang ingin Anda daftarkan. Anda dapat menggunakan wildcard nama-file (yaitu,*
untuk globbing), untuk memasukkan file dan direktori yang cocok. GunakanC-g
untuk mengakhiri input.Dengan kata lain, alih-alih mendaftar satu direktori, buffer Dired dapat mendaftar sejumlah direktori dan nama file, yang bahkan dapat dimiliki oleh pohon direktori yang berbeda.
(Argus awalan non-negatif (yaitu,> = 0) meminta Anda untuk
ls
daftar saklar. Jadi argumen awalan nol meminta Anda untuk kedua switch dan file / dirs ke daftar: pertamals
switch dan kemudian file / dirs.)sumber
(insert ...)
untuk memasukkan teks ke dalam buffer.dired
adalah fungsi elisp. Cukup evaluasi ini:(dired '("my-list" "/home/rekado/dev/script.scm" "/home/rekado/another-file"))
dan Anda mendapatkan buffer dired yang berisi file-file ini sebagai @Drew menulis.Berikut adalah perintah untuk melakukan ini ketika daftar file dalam buffer, dengan satu file per baris.
sumber