Treemac的排序问题

如图:

treemacs的排序: treemacs1

windows列表的排序: treemacs2

看到没有:treemacs居然把aaa-2.txt aaa-3.txt 放到aaa.txt前面去了。。。

这很不美观,特别是lisp文件有很多hyphen。

请问这能改吗?谢谢。

custom treemacs-sorting

自己实现一个然后 custom 加进去。详情看看源码吧。

treemacs这里设计有问题,没有考虑windows用户的感受。他使用的是string<来比对字符串。不会自动忽略后缀。

(defun cm/treemacs-noext-sort-alpha-desc (f1 f2)
  (let ((f1name (file-name-sans-extension f1))
        (f2name (file-name-sans-extension f2))
        (f1ext (file-name-extension f1))
        (f2ext (file-name-extension f2)))
    (or (string< f1name f2name)
        (and (string= f1name f2name)
             (string< f1ext f2ext)))))

(setq treemacs-sorting #'cm/treemacs-noext-sort-alpha-desc)

%E5%9B%BE%E7%89%87 改了下

2 个赞

我在init.el下 设置treemacs-sorting

;; customized sort
(defun cm/treemacs-noext-sort-alpha-desc (f1 f2)
  (let ((f1name (file-name-sans-extension f1))
        (f2name (file-name-sans-extension f2))
        (f1ext (file-name-extension f1))
        (f2ext (file-name-extension f2)))
    (or (string< f1name f2name)
        (and (string= f1name f2name)
             (string< f1ext f2ext)))))

(setq treemacs-sorting #'cm/treemacs-noext-sort-alpha-desc)

然后打开treemacs,双击project minibuffer上弹出错误:Unknown treemacs-sorting value ‘cm/treemacs-noext-sort-alpha-desc。

treemacs似乎读取不到外部函数?

看到github上有着一条issue:

这条issue是在4天前关闭的,可能要换最新版treemacs。


我暂时先不动了,感觉更新了treemacs可能其他东西也要更新(比如:treemacs projectile,如果treemacs projectile依赖最新的projectile,那projectile也要动),等过了这段时间,稳定下来再测试。

多谢你了。

以前我更新就是删除elpa文件夹,哈哈。

现在用submodule反而懒得更新了,除非有大改,或者出bug了

其实submodule管理也并不好。。。

一方面是:每次你在一个干净的环境下clone emacs配置后都要更新submodule(这个过程会checkout作者的整个历史仓库),假设你用了50个package,就要download50个仓库,这个时间真不敢想。。。

另一方面:我发现有的package download下来居然还要make。。。(比如:haskell-mode)

git clone --recursive --shallow-submodules --depth=1 https://framagit.org/citreu/emacs.d.git .emacs.d

惬意得很


--depth <depth>
         Create a shallow clone with a history truncated to the
         specified number of commits. Implies --single-branch
         unless --no-single-branch is given to fetch the
         histories near the tips of all branches. If you want to
         clone submodules shallowly, also pass
         --shallow-submodules.

不过国内克隆github真的是慢,没得洗

1 个赞

不错:+1: