1

私の新しい仕事では、Windows で Emacs 24 を使用しています。これらの特定の状況での主な用途は、ファイル マネージャーとしてです。

ファイル名、サイズ、日付以外のすべてを Dired の表示から削除したいと思います。 この質問は、ls-lisp-verbosity を使用して、不要な詳細のほとんどを削除する方法を教えてくれました。

しかし、アクセス許可を表示しないようにする方法が見つかりませんでした。lsdirのドキュメントを確認しましたが、「権限を表示しない」というフラグはないようです。これまでのところ、アクセス許可を省略できるものは Dired で見つかりませんでした。これはできますか?

4

1 に答える 1

1

lsDired がそれらのフィールドをリストしないようにスイッチを変更するのが最善の方法です。使用可能なスイッチM-x man lsを確認するには、特定のプラットフォームについて を参照してください。ls

dired-details.el(およびdired-details+.el) は、Emacs 24.4 (またはプレリリース開発スナップショット) を使用している場合は不要になりました。(詳細の表示と非表示を切り替えるために使用するだけです。

その場合、シンボリック リンク ターゲットまたはヘッダーとファイル行以外のすべての行を非表示にする詳細と見なすかどうかを制御するオプションが少なくとも 2 つありdired-hide-details-hide-symlink-targetsます dired-hide-details-hide-information-lines

スイッチを変更lsしても問題が解決しない場合は、dired-details-make-current-line-overlayから機能を微調整する必要がありますdired-details.el。非表示にする詳細は、最初のcond句によって決まります。これは次のとおりです ( で囲まれていignore-errorsます)。

(dired-move-to-filename t)

これにより、ポイントがファイル名の先頭に移動します。次の行は次のとおりです。

 (make-overlay (+ 2 bol) (point))

bolこれにより、行の先頭 (ここ) からファイル名の先頭 ( ) までの非表示オーバーレイが作成されますpoint

何か違うものが必要な場合は、オーバーレイに必要な制限を取得する必要があります。たとえば、不可視性をファイル サイズから開始する場合は、ファイル サイズの開始位置を見つける正規表現を使用して前方検索します。

dired-move-to-filename-regexp(ライブラリ内の)の正規表現から作業することで、そのような正規表現を思い付くことができますdired.el。これは、ファイル名まですべてに一致する非常に複雑な正規表現です。ただし、これを使用して、日付と時刻がロケール (西部または東部) を使用して表現されているか、ISO 表現を使用して表現されているかに応じて、7 番目に一致する正規表現サブグループまたは 2 番目の日付と時刻の部分を見つけることができます。

diredp-font-lock-keywords-1これがlibrary の変数を定義するコードでどのように処理されるかを確認できますdired+.el

しかし、繰り返しになりますが、希望どおりに動作する場合の最善の方法は、lsスイッチを使用して、最初にリストされるフィールドを制御することです。前置引数を使用することで、スイッチを簡単に試すことができC-x dます。使用するスイッチを求めるプロンプトが表示されます。

于 2014-09-27T18:54:36.137 に答える