Karthinks

RSS: https://karthinks.com/index.xml
我收集笔记的地方。有时候你必须通过写来思考。

Emacs更多内置利器:从文件对比到备份管理的进阶技巧

本文是Emacs隐藏功能系列的第三篇,介绍了多个原生但鲜为人用的特性。包括悬停查字典、文件查找与Dired支持通配符、跨窗口文本对比、目录差异比较、未保存变更高亮显示,以及通过扩展VC命令实现统一的备份文件版本管理。文章提供了具体的代码示例和配置钩子,旨在提升Emacs用户的日常工作效率。
评论点赞收藏62 天前

Emacs技巧:解决diff-hl在特性分支中的对比难题

作者深入探讨了Emacs中diff-hl插件在特性分支开发时的痛点:默认对比HEAD导致变更指示混乱。通过修改buffer-local变量diff-hl-reference-revision并结合目录局部变量,实现了对比主分支的精准变更高亮。文章提供了从痛点分析到Elisp代码实现、再到快捷键配置的完整工程实践,极具Emacs用户和版本控制深度使用者的参考价值。
评论点赞收藏592 天前

gptel工具调用功能测试招募:让Emacs中的LLM执行本地操作

Emacs LLM客户端gptel的作者介绍其正在开发的“工具调用”功能,并通过视频演示了让LLM访问本地文件系统和Elfeed数据库的能力。作者坦诚该功能尚不成熟,邀请社区测试并反馈,同时探讨了LLM作为通用文本生成器与Emacs作为通用文本编辑器结合的哲学思考。
评论点赞收藏592 天前

Emacs插件Embark的十五种高阶用法详解

作者详细演示了Emacs插件Embark的多种高阶用法,包括改变操作对象顺序、结合ace-window灵活拆分窗口、在不中断当前命令上下文的情况下复制文件到远程、插入候选项到缓冲区以及异步执行Shell命令等。文章提供了具体的Elisp配置代码和逐步操作指南,适合Emacs重度用户提升工作效率。
评论点赞收藏910 天前

参考:在 Org Mode 中使用 RefTeX

作者分享如何将 Emacs 的 RefTeX 模式与现代 Org Mode 结合使用,以提供类似 LaTeX 的交叉引用体验。文章介绍了作者开发的 consult-reftex 和 reftex-xref 等工具,用于改进标签插入、预览、导航和 xref 支持,并提供了具体的配置代码和演示。
评论点赞收藏911 天前

Emacs鼠标使用辩护:减少上下文切换的效率之道

作者为Emacs中使用鼠标进行辩护,反对纯粹的键盘中心主义。文章指出在混合工作流中,使用鼠标手势和拖拽可以减少上下文切换摩擦,提高特定场景下的效率。作者展示了Strokes库的实际应用案例,如窗口管理、代码克隆和媒体控制,并讨论了该工具的局限性。
评论点赞收藏995 天前

让Emacs冷静一下:用节流和防抖解决卡顿问题

针对Emacs单线程导致的卡顿问题,作者提出并实现了一套通用的节流(throttle)和防抖(debounce)机制。文章深入分析了Emacs共享状态带来的性能瓶颈,对比了保守默认值、减少包依赖等传统方案的局限性,并详细展示了如何通过Elisp的Advice系统和宏来封装定时器逻辑,以解决模式行更新和Org模式预览等具体场景下的阻塞问题。这是一篇兼具工程深度与实用价值的Emacs进阶技巧分享。
评论点赞收藏1097 天前

Emacs 中持久化的前缀键映射技巧

作者分享了一种在 Emacs 中利用 which-key 和少量代码,将任意前缀键临时转换为持久化单键访问模式的技巧。相比 Hydra 或 repeat-mode 需要预先配置,这种方法允许用户在输入前缀后按 C-h 即时进入“重复状态”,无需重新输入冗长的组合键,直到手动退出。这是一种针对 Emacs 重度用户的实用工程优化方案,体现了极客式的“懒惰”哲学。
评论点赞收藏1259 天前

统一的结构编辑界面:Emacs中可组合性与端到端方案的博弈

文章探讨了Emacs 29引入Tree-Sitter后结构编辑包的发展,对比了lispy等端到端套件与smartparens等可组合工具的设计理念差异。作者通过演示如何利用repeat-mode和smartparens构建轻量级、一致的结构编辑界面,论证了模块化设计在长期维护中的优势,呼吁开发者在设计编辑库时考虑可组合性。
评论点赞收藏1288 天前

关于Notmuch的折腾实录

作者通过解决Notmuch邮件客户端的一个小问题,深入其elisp源码,并现场直播编码过程。文章旨在分享一种无需预先了解库细节即可深入修改Emacs包行为的通用技巧,属于典型的工程实战与“yak shaving”经验记录。
评论点赞收藏1480 天前

再说一遍:Emacs 28 的 Repeat Mode 详解

深入解析 Emacs 28 引入的 Repeat Mode 功能,对比 Hydra 和 Transient 等现有方案的优劣,并提供自定义 Keymap 支持重复调用的具体代码示例与最佳实践,适合 Emacs 重度用户优化工作流。
评论点赞收藏1502 天前

Emacs 分页体验优化:像 less 一样隐藏光标与滚动

作者指出Emacs作为分页器时,文本光标在只读模式下依然显示且干扰阅读体验。文章提供了利用cursor-type和scroll-lock-mode组合隐藏光标并实现类似Vim/less半屏滚动的解决方案,提升了Emacs作为阅读器时的专注度和操作手感。
评论点赞收藏1511 天前

在Org-mode中实现快速的LaTeX预览

作者抱怨Org-mode原生LaTeX预览速度慢,因此开发了一个基于AucTeX预览库的替代包org-auctex。该包可作为org-latex-preview的直接替换,显著提升了Emacs中的渲染速度,目前处于早期阶段,代码主要集中在复用AucTeX后端,具有较好的工程实用价值。
评论点赞收藏1630 天前

在Emacs中缩放LaTeX预览图

作者分享了一个解决Emacs中LaTeX预览图片不随文本缩放而调整的Hack方案。通过调整overlay属性来缩放图片,虽然简单快速但会导致模糊,SVG可缓解此问题。文章提供了具体实现思路和相关视频演示,属于针对特定开发工具痛点的一手经验分享。
评论点赞收藏1633 天前

Emacs Dired 目录浏览器的历史记录功能

作者指出Emacs中l和r键在Info、EWW等模式下可浏览历史,但在Dired中无效。为此他编写了一个极简的dired-hist包来解决这一缺失功能,体现了典型的Emacs用户动手解决问题的风格。
评论点赞收藏1634 天前

在Emacs中使用标签栏菜单

文章探讨了Emacs用户隐藏菜单栏的原因及其在功能发现和组织上的价值。作者介绍了两种非侵入式恢复菜单访问的方法:使用内置的text-mode菜单和Emacs 28引入的tab-bar菜单,并结合个人使用习惯推荐后者以节省空间并保持主题一致性。
评论点赞收藏1690 天前

使用Hideshow实现简洁的代码折叠

作者指出Emacs内置的Hideshow和Outline模式折叠代码的界面繁琐,通过对比Org模式的TAB键折叠体验,分享了自己为Hideshow开发的一个类似Org的简化一键折叠接口。文章提供了具体的按键绑定方案、使用场景演示以及核心代码实现,并附带了踩坑经验。
评论点赞收藏1699 天前

给急迫学者的LaTeX快速输入指南

作者分享如何在Emacs中配置AucTeX、CDLaTeX和Yasnippet,实现极快的LaTeX数学公式和文档输入速度,甚至能实时记笔记。文章包含大量实操技巧、视频演示和代码片段,适合Emacs和LaTeX重度用户。
评论点赞收藏1747 天前

ELMO:Emacs的Embark实时模式插件(但作者劝退)

作者发布了一个名为Elmo的Emacs增量补全插件,基于Embark实现。但作者明确指出该插件存在性能问题(速度慢),且功能与其他成熟插件(如Selectrum, Vertico, Ivy)重叠,因此强烈建议用户不要使用,转而使用其他更优选择。
评论点赞收藏1753 天前

Emacs Elisp 编辑技巧:让 eval-last-sexp 更高效

介绍 Emacs 中 eval-last-sexp 命令的高级用法,包括使用前缀参数在缓冲区直接打印结果、使用参数 0 避免截断长输出,以及替换为 pp-eval-last-sexp 以获得更清晰的显示效果。
评论点赞收藏1757 天前

Avy能做任何事:重构Emacs的高效交互范式

作者提出Emacs用户通常低估了Avy包的能力。文章核心观点是只需掌握一个命令avy-goto-char-timer,结合其内置的Dispatch功能或Embark包,即可实现跨窗口/缓冲区的文本复制、删除、移动、拼写检查、定义查询甚至Google搜索。文章通过“Filter-Select-Act”模型解析交互逻辑,并演示了Avy与Isearch结合的高级用法,旨在减少光标手动移动和上下文切换,提升键盘操作效率。
评论点赞收藏1760 天前

为Elfeed打造去标题党工具

作者分享了一个针对Elfeed RSS阅读器的简易脚本,用于自动去除标题中的夸张和点击诱饵词汇。文章以幽默的方式展示了处理前后的对比,并提供了代码实现思路,适合关注RSS工具和个性化定制的技术读者。
评论点赞收藏1769 天前

登录芦苇

登录后关注作者、收藏内容和参与讨论。