flat7th

emacs28.2 diredでdotfile表示を切り替える

created 2023-06-03 modified 2023-06-03 

表題の通り。ホームディレクトリに . から始まるファイルがたくさんあって、見づらいのです。

カスタマイズ変数としては dired-listing-switches があって、値を "-la" と設定しているのだけど、この変数は
dired バッファを開いたとき最初にバッファローカル変数 dired-actual-switches にコピーされて
以後は dired-actual-switches が効く模様。

dired-actual-switches を "-l" と設定してバッファを更新すると、ドットファイルが消える。

b キーが空いていたので b にセット。もう一度 b キーを押すと初期値に戻るようにした。

(eval-after-load "dired"
  '(progn
     (defun dired-toggle-dot-files () (interactive)
	    (if (string-match "a" dired-actual-switches)
		(setq dired-actual-switches "-l")
	      (setq dired-actual-switches dired-listing-switches)) ;; "-la"
	    (revert-buffer)
            )
     (define-key dired-mode-map "b" 'dired-toggle-dot-files)
  )


自分の.emacsでは実際には ドラッグアンドドロップも設定していて、以下。

(eval-after-load "dired"
  '(progn
     (defun dired-toggle-dot-files () (interactive)
	    (if (string-match "a" dired-actual-switches)
		(setq dired-actual-switches "-l")
	      (setq dired-actual-switches dired-listing-switches)) ;; "-la"
	    (revert-buffer)
            )
     (define-key dired-mode-map "b" 'dired-toggle-dot-files)

     (setq dired-dnd-protocol-alist
           '(("^file:///" . dnd-open-local-file)
             ("^file://"  . dnd-open-file)
             ("^file:"    . dnd-open-local-file)))
     )
  )