读:emacs chat 技巧拾遗——从 bandali 的配置里捡到的那些技巧
内容提要
本文介绍了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-/ 撤销不喜欢的修改。