Emacs打开Jar等归档文件默认为空,需按g刷新的异常问题求助
GNU Emacs 28.1打开Jar文件显示空表格的解决办法
在GNU Emacs 28.1(build 1, aarch64-apple-darwin21.1.0, NS appkit-2113.00 Version 12.0.1 (Build 21A559),编译于2022-05-11)中打开Jar文件时,缓冲区会先显示空表格:
M ... Filename - ----- --------------- - ----- ---------------
必须手动按下g键重新读取归档文件,才能显示实际的目录列表:
M Mode Size Date&time Filename - ---------- ----- -------------------- ---------------- -rw-rw-rw- 121 14-Feb-2018 16:36:20 META-INF/MANIFEST.MF -rw-rw-rw- 2026 14-Feb-2018 16:36:20 META-INF/maven/aero/aero/pom.xml -rw-rw-rw- 440 14-Feb-2018 16:36:20 META-INF/leiningen/aero/aero/project.clj -rw-rw-rw- 14152 14-Feb-2018 16:36:20 META-INF/leiningen/aero/aero/README.md -rw-rw-rw- 1075 14-Feb-2018 16:36:20 META-INF/leiningen/aero/aero/LICENSE
这种异常行为破坏了原有工作流程(比如直接打开Jar归档中的源文件),此前使用正常且未修改过归档相关设置,可尝试以下解决方法:
- 配置自动刷新:将
(add-hook 'archive-mode-hook #'archive-refresh)添加到Emacs配置文件(如init.el),让打开Jar文件时自动触发刷新操作 - 升级Emacs版本:Emacs 28.1的
archive-mode可能存在aarch64 macOS平台的兼容性bug,升级到28.2或更高稳定版本大概率能解决问题 - 验证Jar文件完整性:在终端执行
jar tf yourfile.jar命令(替换yourfile.jar为实际文件名),检查Jar文件是否能正常列出内容,排除文件损坏导致的读取失败 - 排查插件冲突:临时禁用其他归档管理或文件浏览类插件,确认是否有插件干扰
archive-mode的初始加载逻辑
内容的提问来源于stack exchange,提问作者Ivan Grishaev
相关产品推荐
相关产品推荐

