Diredを展開してサブディレクトリ/ファイルを表示しますか?


7

他のエディター(Sublime、Intellijなど)で見逃している最大の問題の1つは、プロジェクトの構造を確認し、必要に応じてディレクトリを展開/最小化して、気になるものを確認できることです。必要に応じてホットキーを使用してサブディレクトリを展開できるOrgモード階層のようなものはありますか?

回答:


10

Dired iでは、カーソルをsubdir行に置いて、を使用してサブディレクトリを含めることができます。

同様に、subdirリスト内のsubdir行で行うことができるため、同じDiredバッファー内の任意の数のサブディレクトリの任意の数のレベルをリストできます。

$subdir-listingヘッダー行で、そのsubdirリストを非表示/表示します。したがって、多かれ少なかれ、要求した拡張/縮小機能に対応します。プレフィックスarg(例:)を使用すると、C-u $すべてを表示/非表示にします。これにより、基本的には白紙の状態に戻りますが、リストのヘッダー行を適用する$と、それらのリストを選択的に表示できます。

またC-x C-v RET、指定されたDiredバッファーのメインディレクトリリストを更新することも知っています。つまり、最初からやり直して、ディレクトリを新たに読み取ります。サブディレクトリのリストは含まれていません。一方、g現在表示されているリストを更新するだけで、Emacs外で行われた変更を取得します。

lsどの特定のサブディレクトリリストにも同じスイッチを使用できます。

Diredは、ディレクトリ階層の「ツリー」ビューを提供しません。しかし、それはまだ非常に便利です。

アドオンライブラリDired +を使用すると、マークされたファイルやマークされたサブディレクトリのマークされたファイルを操作するコマンドなど、かなり多くの機能を利用できます。

Dired +をi使用すると、さらに便利になります。これを使用して、親リストのサブディレクトリ行とそのサブディレクトリのリストの間を行き来します。

また、Dired +を使用すると、ツリーのさまざまな部分(たとえば、異なるサブディレクトリ)に個別のバッファーを含め、複数のDiredバッファーを簡単に使用できます。また、同じディレクトリからではなく、どこからでもファイルとディレクトリのリストを簡単に作成できます。

何ができるかを探り、発見するには、menuから始まるメニューバーメニューを使用しますDir


4

dired-subtreeはオプションであり、次のようになります。

ここに画像の説明を入力してください

use-package使用している場合は、init.elを有効にして、TABとSHIFT-TABにバインドできます。

(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))

私はそれについてここに少し書いた。


1
投稿を展開して、完全な自己完結型の回答にしてください。通常、リンクのみの投稿は回答としてお勧めしません。投稿をコメントに変換したい場合(リンクのみで問題が少ない場合)、お知らせください。
ダン

できました。より良いのご希望=)
アルバロ

2

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

SpeedbarはEmacs Lispプログラムであり、特別なディレクトリリストを含む特別な細いフレームを作成できます。このリストには、ディレクトリとフィルタリングされたファイルの両方が含まれます。次に、ファイルをemacsフレームにロードするか、ファイルを展開してその中にあるすべてのタグを表示し、それらのタグにジャンプできます。複数のディレクトリをスピードバーフレームに展開することもできます。


1
質問では具体的にdiredについて言及していますが、speedbarはOPの基準に非常によく適合し、特に他のIDEからのものであると思います。また、スピードバーに独自のフレームを与えたくない人のために、現在のフレームにスピードバーをドッキングするSr Speedbarをチェックしてください。
nispio 2016年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.