Bisakah saya melihat dalam properti Emacs file yang sudah saya buka?
9
Saya telah membuka file di Emacs. Saya ingin melihat informasi tentang file itu seperti tanggal pembuatan, ukuran, dll dalam Emacs. Apakah ada pintasan kunci atau perintah Emacs untuk itu? Terima kasih.
C-x d RETakan terbuka direddi direktori file yang dikunjungi. Itu tidak akan menampilkan informasi secara khusus tentang file yang dikunjungi, tetapi semua file dalam direktori.
jrm
1
Bagaimana ?: M-x eval-expression RET (dired-other-window buffer-file-name) RET Perintah beralih untuk "ls" yang menggunakan penggunaan dirubahsuai.
hukum
Anda juga bisa memasukkannya ke dalam fungsi dan menambahkan keybinding. (defun file-info () (interactive) (dired-other-window buffer-file-name)) (global-set-key (kbd "C-c d") 'file-info)
jrm
1
Saya akan mendorong @jrm untuk mengirim jawaban yang mirip dengan komentar di atas yang mencakup variabel let-bound dired-listing-switchessehingga OP dapat menampilkan atribut file apa pun yang didukung oleh versi "ls" yang berlaku.
hukum
Terima kasih atas semua komentar dan upaya. Yang disarankan oleh jrm berhasil di luar kotak.
Romario
Jawaban:
9
Ini adalah perintah yang menggunakan diredflag file verbose untuk lsperintah tersebut. Anda mungkin ingin menyesuaikan bendera tersebut tergantung pada sistem operasi Anda.
Baris pertama memberi Anda "pengguna" UID "lh" dan GID.
Tiga baris berikutnya adalah waktu akses, modifikasi, dan perubahan status terakhir, yang diformat sebagai daftar. Anda dapat mengonversinya menjadi string yang dapat dibaca manusia dengan current-time-string:
(current-time-string '(206146401950040152000))
Dalam hal ini, nilai kembali adalah "Sel 23 Okt 16:12:03 2012". Dengan itu, Anda dapat membangun fungsi Anda sendiri untuk mengekstrak bit mana saja yang Anda minati. Jika Anda hanya ingin melihat meta data di minibuffer, ini akan menampilkannya untuk Anda:
Terima kasih atas jawabannya. Tapi saya tidak tahu atau tidak bisa memasukkan kode pertama: (atribut file (buffer-file-name)) Saya kira itu harus dimasukkan di dalam minibuffer tetapi bagaimana cara beralih ke minibuffer? Saya tahu Cg harus dimatikan tetapi tidak tahu cara beralih.
Romario
Untuk menjalankan kode elisp di minibuffer, masukkan M-:. Anda akan melihat Eval: di minibuffer, dan kemudian Anda bisa mengetikkan kode. Untuk defun,, (defun file-metadata...Anda dapat mencobanya dengan menempelkannya ke buffer awal , dan dengan titik di dalam fungsi mengetik M-C-x. Maka Anda dapat memanggil fungsi dengan M-x file-metadata.
Tyler
Ops, ya itu berhasil. Hai, itu berguna. Seperti yang Anda tunjukkan, daftar atribut file dalam bentuk asli dan dengan fungsi konverter dimungkinkan untuk mengekstrak beberapa info lebih rinci tentang file tersebut. Saya akan memilih jawaban ini sebagai (sangat) membantu. Terima kasih!
C-x d RET
akan terbukadired
di direktori file yang dikunjungi. Itu tidak akan menampilkan informasi secara khusus tentang file yang dikunjungi, tetapi semua file dalam direktori.M-x eval-expression RET (dired-other-window buffer-file-name) RET
Perintah beralih untuk "ls" yang menggunakan penggunaan dirubahsuai.(defun file-info () (interactive) (dired-other-window buffer-file-name)) (global-set-key (kbd "C-c d") 'file-info)
dired-listing-switches
sehingga OP dapat menampilkan atribut file apa pun yang didukung oleh versi "ls" yang berlaku.Jawaban:
Ini adalah perintah yang menggunakan
dired
flag file verbose untukls
perintah tersebut. Anda mungkin ingin menyesuaikan bendera tersebut tergantung pada sistem operasi Anda.Buat pengikat kunci sesuai keinginan Anda.
sumber
Tampaknya tidak ada perintah untuk mendapatkan info ini secara interaktif, meskipun Anda dapat menggunakan dired seperti yang disarankan oleh @jrm.
Anda bisa mendapatkan informasi ini dengan kode elisp berikut:
Ini akan mengembalikan daftar seperti ini:
Baris pertama memberi Anda "pengguna" UID "lh" dan GID.
Tiga baris berikutnya adalah waktu akses, modifikasi, dan perubahan status terakhir, yang diformat sebagai daftar. Anda dapat mengonversinya menjadi string yang dapat dibaca manusia dengan
current-time-string
:Dalam hal ini, nilai kembali adalah "Sel 23 Okt 16:12:03 2012". Dengan itu, Anda dapat membangun fungsi Anda sendiri untuk mengekstrak bit mana saja yang Anda minati. Jika Anda hanya ingin melihat meta data di minibuffer, ini akan menampilkannya untuk Anda:
Memanggil ini secara interaktif menghasilkan:
Lebih detail dalam Atribut File manual (elisp).
sumber
M-:
. Anda akan melihatEval:
di minibuffer, dan kemudian Anda bisa mengetikkan kode. Untuk defun,,(defun file-metadata...
Anda dapat mencobanya dengan menempelkannya ke buffer awal , dan dengan titik di dalam fungsi mengetikM-C-x
. Maka Anda dapat memanggil fungsi denganM-x file-metadata
.