在OSX10.5Emacs23.2上,在dired模式下,如果我尝试使用前缀参数--sort=extension或-X按dired-sort-toggle-or-edit排序,我会得到:
insert-directory: Listing directory failed but `access-file' worked并且dired缓冲器变为空。我试着设置
(setq dired-use-ls-dired nil)但这并没有什么效果。在我的Ubuntu box上,dired-sort-toggle-or-edit和扩展排序似乎工作得很好。有人知道这是怎么回事吗?
发布于 2010-11-03 02:49:31
安装在OS上的ls不支持-X或任何像--sort这样的长参数。设置dired-use-ls-dired不会有任何效果;dired将始终使用ls,但如果该变量为非nil,它将把--dired传递给ls。
如果你想要这种类型的排序,你可以使用像fink这样的工具来安装coreutils,它将提供一个更像你在Ubuntu中习惯的ls。
发布于 2010-11-03 11:24:55
现在,我还找到了另一个使用ls-lisp的解决方案
(when (eq system-type 'darwin)
(require 'ls-lisp)
(setq ls-lisp-use-insert-directory-program nil))发布于 2013-11-17 14:22:53
以下是使用通过macports安装的coreutils在雪豹10.6.8上运行Emacs的步骤:
注意:我的/macports安装不同于一般的(/opt/...) --也就是说,我使用macports作为根目录。更改根目录设置并不是必需的,这只是我个人的偏好。对于普通的macport安装或替代设置,请相应地调整路径。
sudo /macports/bin/port install coreutils这放在.emacs或init.el内部
;; sort directories first
(setq insert-directory-program "/macports/bin/gls")
(setq dired-listing-switches "-aBhl --group-directories-first")注意:不推荐使用gls/ls的符号链接,因为它破坏了macports安装和其他东西的功能。
对于希望获得更多控制的用户,可选择安装:
从http://ftp.gnu.org/gnu/coreutils/下载:coreutils-8.21.tar.xz
如果没有用于解压缩*.xz文件的实用程序,则可以使用诸如TheUnarchiver3.9.1之类的实用程序。
下面是创建coreutils的快速参考--我将安装位置设置为自己的个人首选项,而不是默认位置:
./configure \
--prefix=/Users/HOME/.0.data/.0.emacs/elpa
make
sudo make install将这些代码插入到您的.emacs或init.el文件中--相应地调整路径:
;; sort directories first
(setq insert-directory-program "/Users/HOME/.0.data/.0.emacs/elpa/bin/ls")
(setq dired-listing-switches "-aBhl --group-directories-first")https://stackoverflow.com/questions/4076360
复制相似问题