Mở rộng Dired để hiển thị thư mục con / tập tin?


7

Một trong những điều lớn nhất tôi nhớ từ các biên tập viên khác (ví dụ Sublime, Intellij) là khả năng xem cấu trúc dự án và mở rộng / thu nhỏ các thư mục khi cần để tôi có thể thấy những gì tôi quan tâm. Có thứ gì đó giống như hệ thống phân cấp chế độ Org nơi tôi có thể sử dụng phím nóng để mở rộng thư mục con khi cần không?

Câu trả lời:


10

Trong Dired, bạn có thể bao gồm một thư mục con sử dụng i, với con trỏ trên dòng thư mục con .

Bạn cũng có thể thực hiện tương tự trên một dòng con trong danh sách thư mục con, vì vậy bạn có thể liệt kê bất kỳ số cấp nào của bất kỳ số lượng thư mục con nào trong cùng bộ đệm Dired.

$trên dòng tiêu đề liệt kê danh sách con ẩn / hiển thị danh sách thư mục con đó. Vì vậy, nó tương ứng ít nhiều với tính năng mở rộng / hợp đồng mà bạn yêu cầu. Với một tiền tố arg (ví dụ C-u $), nó hiển thị / ẩn tất cả mọi thứ, về cơ bản sẽ đưa bạn trở lại một bảng xếp hạng sạch, nhưng với các dòng tiêu đề liệt kê nơi bạn có thể áp dụng $để hiển thị có chọn lọc danh sách của họ.

Cũng biết rằng C-x C-v RETsẽ làm mới danh sách thư mục chính cho bộ đệm Dired đã cho. Nói cách khác, nó bắt đầu lại, đọc thư mục một lần nữa - không bao gồm danh sách phụ, v.v. Mặt khác, gchỉ cần làm mới danh sách hiện đang hiển thị, chọn bất kỳ thay đổi nào được thực hiện bên ngoài Emacs.

Bạn có thể sử dụng các lscông tắc tương tự cho bất kỳ danh sách phụ nào.

Dired không cung cấp chế độ xem "cây" của hệ thống phân cấp thư mục. Nhưng nó vẫn khá hữu ích.

Nếu bạn sử dụng thư viện bổ trợ Dired + thì bạn sẽ có thêm một chút chức năng, bao gồm các lệnh hoạt động trên các tệp được đánh dấu và các tệp được đánh dấu của các thư mục con được đánh dấu, ... được tìm thấy một cách đệ quy.

Với Dired +, thậm chí chỉ ihữu dụng hơn - sử dụng nó để nảy qua lại giữa một dòng con trong danh sách cha và danh sách của thư mục con đó.

Dired + cũng giúp bạn dễ dàng sử dụng nhiều bộ đệm Dired, bao gồm cả bộ đệm riêng cho các phần khác nhau của cây (ví dụ: các thư mục con khác nhau). Và nó cho phép bạn dễ dàng tạo danh sách các tập tin và thư mục từ bất cứ đâu, tức là không phải từ cùng một thư mục.

Để tìm hiểu và khám phá những gì bạn có thể làm, hãy sử dụng các menu thanh menu, bắt đầu với menu Dir.


4

dired-Subree là một tùy chọn và trông như sau:

nhập mô tả hình ảnh ở đây

Nếu sử dụng gói sử dụng , bạn có thể kích hoạt trong init.el của mình và liên kết với TAB và SHIFT-TAB với:

(use-package dired-subtree :ensure t
  :after dired
  :config
  (bind-key "<tab>" #'dired-subtree-toggle dired-mode-map)
  (bind-key "<backtab>" #'dired-subtree-cycle dired-mode-map))

Tôi đã viết một chút về nó ở đây .


1
Vui lòng mở rộng trên bài đăng của bạn để làm cho nó một câu trả lời đầy đủ, khép kín. Chúng tôi thường không khuyến khích các bài viết chỉ liên kết như là câu trả lời; nếu bạn muốn tôi chuyển đổi bài đăng của bạn thành bình luận (trong đó chỉ liên kết ít là vấn đề), hãy cho tôi biết.
Dân

Làm xong. Hy vọng điều đó tốt hơn =)
alvaro

2

http://cedet.sourceforge.net/speedbar.shtml

Speedbar là một chương trình Emps Lisp cho phép bạn tạo một khung mỏng đặc biệt với một danh sách thư mục chuyên dụng trong đó. Danh sách này sẽ có cả thư mục và các tệp được lọc trong đó. Sau đó, bạn có thể tải các tệp vào khung emacs của mình hoặc mở rộng các tệp để hiển thị tất cả các thẻ có trong chúng và chuyển đến các thẻ đó. Bạn cũng có thể mở rộng nhiều thư mục vào khung speedbar của mình.


1
Mặc dù câu hỏi đặc biệt đề cập đến, tôi nghi ngờ rằng speedbar sẽ phù hợp với tiêu chí của OP rất độc đáo, đặc biệt là đến từ các IDE khác. Ngoài ra, đối với những người không thích đưa ra thanh tốc độ của riêng mình, hãy xem Sr Speedbar , nơi đặt thanh tốc độ trong khung hiện tại.
nispio
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.