读:emacs chat 技巧拾遗——从 bandali 的配置里捡到的那些技巧

💡 原文中文,约10600字,阅读约需26分钟。
📝

内容提要

本文介绍了Amin Bandali在Emacs配置中的实用技巧,包括缓冲区边界指示、预填充命令、自动加载目录、快捷键管理和EXWM窗口管理器的使用。Bandali的配置风格极简,强调手动管理包和使用literate编程,同时提到了一些小工具和功能,如幻灯片工具和SSH配置补全,以帮助用户更好地使用Emacs。

🎯

关键要点

  • Amin Bandali 在 Emacs 配置中使用极简风格,手动管理包,使用 literate 编程。

  • 使用 indicate-buffer-boundaries 设置,能够一行看出 buffer 边界和末尾换行符。

  • minibuffer-with-setup-hook 预填充 M-x,省去记忆多个快捷键的麻烦。

  • user-lisp-directory 使 Emacs 启动时自动加载指定目录下的 .el 文件。

  • repeat-mode 允许用户按一次前缀后只需按最后一个键,简化快捷键操作。

  • EXWM 作为窗口管理器,支持将 Emacs 快捷键带入其他应用。

  • 通过 prefix map 减少 EXWM 全局键注册,加速启动。

  • 浮动窗口功能通过 instance name 自动识别,简化窗口管理。

  • EXWM 支持按需创建工作区,减少启动负担。

  • exwm-xsettings 允许动态调整 DPI 和屏幕设置,适应显示器热插拔。

  • 使用 auto-revert 和 undo 结合,方便查看文件变化并撤销不喜欢的修改。

  • display-fill-column-indicator 提醒用户代码和文本不要写得太长。

  • bandali-define-keys 宏支持一次定义多个快捷键,提高配置效率。

  • 通过设置门禁机制,避免误触命令带来的不便。

  • 全局字体缩放功能增强了 Emacs 的可用性,适合投屏分享。

  • init-file-debug 允许在不重启 Emacs 的情况下调试配置错误。

  • package-review-policy 在更新包前展示新旧版本的 diff,帮助用户做出决策。

  • ffs(Form Feed Slides)是一个简单的幻灯片工具,支持双屏演示。

  • TRAMP 配置补全功能简化了 SSH 主机名的输入。

🔎

延伸解读

极简配置的优势

Amin Bandali 的配置风格强调极简和手动管理,这种方式不仅减少了对复杂包管理工具的依赖,还能让用户更清晰地理解每一项配置的作用。通过使用 literate 编程,用户可以更好地记录和分享自己的配置思路,适合喜欢自定义和学习的用户。

EXWM 的灵活性

EXWM 作为 Emacs 的窗口管理器,提供了将 Emacs 快捷键带入其他应用的能力,极大地提升了用户的工作效率。Bandali 的配置通过 prefix map 和浮动窗口的设置,简化了窗口管理,适合需要同时处理多个应用的用户。

自动化与便捷性

Bandali 的配置中引入了多个自动化功能,如 user-lisp-directory 和 auto-revert,这些功能能够减少手动操作,提高工作效率。特别是 auto-revert 结合 undo 的使用,让用户能够轻松查看文件变化并快速撤销不满意的修改,适合需要频繁编辑文件的用户。

延伸问答

Amin Bandali 在 Emacs 配置中使用了哪些技巧?

Bandali 使用了缓冲区边界指示、预填充命令、自动加载目录、快捷键管理和 EXWM 窗口管理器等技巧。

如何使用 indicate-buffer-boundaries 设置缓冲区边界指示?

可以通过设置 (setq-default indicate-buffer-boundaries 'left) 来在每个 buffer 的左边 fringe 区域显示小箭头,指示内容是否可以继续翻页。

EXWM 窗口管理器的主要功能是什么?

EXWM 允许用户将 Emacs 快捷键带入其他应用,并支持按需创建工作区,简化窗口管理。

如何在 Emacs 中实现快捷键的预填充?

可以使用 minibuffer-with-setup-hook 函数,在打开 M-x 时自动填充指定的前缀,从而简化命令输入。

Bandali 的配置中如何处理包管理?

Bandali 采用极简风格,手动管理包,使用 git submodule,并将配置写成 literate Org 文件。

如何使用 auto-revert 和 undo 功能查看文件变化?

通过启用 global-auto-revert-mode,Emacs 会自动刷新 buffer,用户可以按 C-/ 撤销不喜欢的修改。

🏷️

标签

➡️

继续阅读