💬

diredでシンボリックリンクが開けない

2022/08/31に公開

macOSでemacsのdiredでシンボリックリンク(シムリンク/symlink/symbolic link)を開くと中身が表示されない。
Messageバッファには以下が出力されている。

ls does not support --dired; see ‘dired-use-ls-dired’ for more details.

解決案

解決案1 coreutilsを導入する

ls--diredに対応していないため発生している。対応しているlsを導入すればよい。
つまり、GNU Coreutilsを導入すれば解決できる。

homebrewであれば、以下の通り。

brew install coreutils

glsコマンドがインストールされるのでこれを使うように設定する。

(setq insert-directory-program "gls")

nixでinstallしたemacsであれば、lsでインストールされるためcoreutilsをインストールすればよい。

nix-env -iA nixpkgs.coreutils

解決案2 find-file-visit-truenameを non-nilに設定する

ls --diredが利用できない場合にシンボリックリンクを使ったパスでディレクトリ一覧がとれないことが問題と予想される。(未調査)
シンボリックリンク先のパスでアクセスするようにすればよい。

(custom-set-variables '(find-file-visit-truename t))

参考

Discussion