Peramban direktori berbasis pohon?

38

Saya suka dired, tapi kadang-kadang (terutama ketika syuting screencasts) saya ingin melihat struktur pohon dari direktori dan anak-anaknya, a la the tree (1) perintah. Apakah ada peramban direktori berorientasi pohon untuk Emacs?

Avdi
sumber
Cukup yakin ECB bisa melakukan ini.
Edgar Aroutiounian
2
@ EdgarAroutiounian Jika itu masalahnya, saya sarankan untuk membuat jawaban darinya :)
Trevoke

Jawaban:

23

Selain itu Anda dapat menggunakan dired-subtree dari dired-hacks repo.

Di sini Anda memiliki demo dan tangkapan layar pendek dari pengaturan saya di mana saya menekan iuntuk menelusuri folder dan ;untuk kembali .:

  (define-key dired-mode-map "i" 'dired-subtree-insert)
  (define-key dired-mode-map ";" 'dired-subtree-remove)

dired-subtree

NB Saya juga sadar akan mengerikan yang terlihat seperti itu mengerikan::

kmicu
sumber
Saya sudah mencoba dired-subtree tetapi struktur pohon tidak begitu jelas secara visual seperti yang saya cari. Direx terlihat sempurna, aku akan mencobanya.
Avdi
Saya yang ini karena saran dari Direx terlihat ideal untuk kasus penggunaan saya menempatkan visualisasi pohon direktori depan dan tengah. Itu bukan untuk diskon saran bagus keelerm @.
Avdi
Anda bisa mendapatkan fungsionalitas yang setara menggunakan satu pengikatan kunci: (dired-key dired-mode-map "i" 'dired-subtree-toggle). Saya suka memetakannya ke "Cc i" meskipun karena dired juga tidak memasukkan subdirektori menggunakan "i".
Joe
22

Ada beberapa opsi untuk ini.

Anda dapat memeriksa dirtree , yang didasarkan pada dired.

Ada juga port emacs dari NERDTree vim yang disebut neotree .

Keduanya adalah paket yang sangat baik, meskipun saya cenderung tidak menyukai karena memiliki ikatan yang nyaman untuk membiarkan saya membuat dan menghapus file dan direktori. Saya tidak percaya dirtree memiliki dukungan ini, meskipun saya bisa salah. Sudah lama sejak saya terakhir menggunakannya.

tajam
sumber
Terima kasih, sementara direx terlihat ideal untuk kebutuhan mendesak saya, Anda telah mengingatkan saya bahwa saya perlu meluangkan waktu dengan Neotree.
Avdi
9

Anda dapat meminta diredargumen, yaitu. C-u C-x ddan setelah meminta direktori, Anda juga dapat memodifikasi sakelar yang diteruskan ls. Tambah Rdan diredakan mendaftar semua sub-direktori secara rekursif, masing-masing di bagian itu sendiri.

Jika Anda hanya ingin melihat konten beberapa sub-direktori, tekan iketika intinya ada pada nama direktori.

Anda juga dapat menggunakan find-diredperintah, dengan atau tanpa sakelar. Alih-alih menunjukkan sub-direktori di bagian mereka sendiri, ia mencetak path lengkap dari setiap file. Anda dapat beralih menampilkan detail file dengan (sehingga jalur panjang cocok secara horizontal di layar.

Ini semua built-in.

Berkas tidak ditemukan
sumber
7

Apakah Anda pernah mencoba Emacs M-x speedbar? :-) sebelum menginstal beberapa paket baru saya akan mencoba solusi bawaan ...

Dieter.Wilhelm
sumber
1
… Dan satu lagi upvote untuk menyarankan builtin.
GergelyPolonkai
4

Ada juga ztree . Saya menggunakannya ketika saya perlu melihat struktur direktori, meskipun biasanya saya menggunakan Dir vanilla untuk semua hal lainnya.

Mark Karpov
sumber
1

Lihatlah sidebar.el .

Seperti yang dikatakan repo, ini adalah penjelajah file yang dapat disesuaikan dengan integrasi git, tetapi tidak hanya itu. Anda juga bisa mendapatkan daftar buffer dan maildir Anda dengan mu4e.

masukkan deskripsi gambar di sini

azzamsa
sumber
1

Apakah Treemac bekerja? Ini memungkinkan Anda untuk memiliki struktur mirip treel.

decabytes
sumber
Apakah ini jawaban atau pertanyaan (dua pertanyaan)? Ini hanya jawaban tautan saja, jika jawabannya. Karena itu, risiko dihapus. Lihat emacs.stackexchange.com/help/how-to-ask .
Drew
1
@Rew, fwiw saya pikir ini hanya masalah bahasa / interpretasi. Treemacs adalah saran yang sepenuhnya dapat diterima untuk pertanyaan OP.
EdwardGarson