dired:如何获得真正的人类可读输出(find-ls-option)

时间:2013-01-30 10:55:24

标签: emacs dired

我正在寻找M-x find-dired / M-x find-gred-dired的人类可读输出。我尝试使用以下内容:

(setq find-ls-option '("-print0 | xargs -0 ls -alhd" . "-alhd"))

然而,由于-h,找到的输出不再正确对齐,因此不是人类可读的(请参见下面的屏幕截图[dired +])。对此有没有(不太过于干扰)的解决方案?

enter image description here

正如artscan所指出的,-i是一种选择。然后我发现了这个“反例”:

enter image description here

2 个答案:

答案 0 :(得分:1)

我玩了一下。缩进突然很好,除了文件大小以字节为单位的文件(因此没有单位)。然后我想知道"第二" find-ls-option中的一组选项是关于。虽然C-h v find-ls-option没有以明确的方式解释它(恕我直言),但我发现只是将第二组选项留空会提供正确的缩进:

(setq find-ls-option '("-print0 | xargs -0 ls -alhd" . ""))

答案 1 :(得分:0)

编辑:问题在于正则表达式。你必须修补函数find-dired-filter

diff -u -L /usr/share/emacs/24.2/lisp/find-dired.el.gz -L \#\<buffer\ find-dired.el.gz\> /tmp/jka-com8644f_j /tmp/buffer-content-86445Tw
--- /usr/share/emacs/24.2/lisp/find-dired.el.gz
+++ #<buffer find-dired.el.gz>
@@ -289,7 +289,7 @@
            (l-opt (and (consp find-ls-option)
                (string-match "l" (cdr find-ls-option))))
            (ls-regexp (concat "^ +[^ \t\r\n]+\\( +[^ \t\r\n]+\\) +"
-                      "[^ \t\r\n]+ +[^ \t\r\n]+\\( +[0-9]+\\)")))
+                      "[^ \t\r\n]+ +[^ \t\r\n]+\\( +[0-9,.]+\\)")))
        (goto-char beg)
        (insert string)
        (goto-char beg)