如何自定义dirred -compress-files- list?



dired-compress-files-alist的原始值为:

(("\.tar\.gz\'" . "tar -cf - %i | gzip -c9 > %o") ("\.tar\.bz2\'" . "tar -cf - %i | bzip2 -c9 > %o") ("\.tar\.xz\'" . "tar -cf - %i | xz -c9 > %o") ("\.tar\.zst\'" . "tar -cf - %i | zstd -19 -o %o") ("\.zip\'" . "zip %o -r --filesync %i"))

我想为.tgz文件添加命令,所以我在.emacs中添加一行:

(add-hook 'dired-mode
'(lambda ()
(setq dired-compress-files-alist
(cons '("\.tgz\'" . "tar -cf - %i | gzip -c9 > %o") dired-compress-files-alist))))

Emacs启动时,报告错误variable dired-compress-files-alist is not found。我发现只有当我运行命令' dired-do-compress-to'时,这个变量才会出现。那么如何设置这个变量呢?

只需在初始化文件中要求标准库dired-aux(至少在使用Dired之前)。这个库定义了变量dired-compress-files-alist

(require 'dired-aux)

(哦,不要引用lambdas:只用(lambda...),而不是'(lambda...))


(您也可以使用add-to-listpush代替setqcons等,但这只是一个风格的问题。)

相关内容

  • 没有找到相关文章

最新更新