返回

文章详情

Emacs 中包含了更多的功能

Hacker News2026年6月15日 02:30

Emacs 的功能存在可发现性的问题,而我们正在逐步解决这个问题,每次演示一次。自我写下最后一篇文章以来的这些年,发现了更多令人惊讶和实用的功能,所以是时候再次进行一次“内置功能”报告了。注意,这是系列文章中的第三篇,强调了 Emacs 中一些实用但不太为人所知的功能。第一和第二部分:Emacs 包含的功能。Emacs 中包含更多功能。“不太为人所知”是一种主观判断。大体来说,这意味着在我写作时,我看到这些功能在过去二十年的在线 Emacs 讨论中被提及的次数少于五次——而且往往从未提及。过去条目中涉及的一些功能是著名的,如今常常被推荐。我不自称有任何功劳。如果你是新用户,不要从这里开始。这不是入门指南。你最好先了解基本的 Emacs 概念,并依赖于最广泛推荐的软件包。一旦你体验了 Emacs 中的想法,比如“为什么直到 1990 年没有人想到在行李上装轮子?”,这个系列可能会更加有帮助。我的经验法则是,如果你还不知道 undo-in-region,那么还有很多简单易学的功能可以探索,你可以在那些功能用完之后再回到这篇文章!老练的 Emacs 用户往往会使用一些相对小众的 Emacs 功能,但根据我的经验,对于每个用户来说,使用的功能总是不同的。所以,如果你已经使用了一段时间,我保证下面仍然会有惊喜出现!与之前一样遵循相同的规则:不使用任何软件包,只使用原版的 Emacs。没有陡峭的学习曲线。每个功能在五分钟内学会,否则就放弃。没有花招。没有 doctor、tetris、snake、dunnet、zone、butterfly …… 是的,我们知道 disassociated-press。继续。只关注变化。没有像 Flymake、doc-view、outline-minor-mode、gnus 或 eww 这样的常见软件包。没有 emacs 自动提供的功能或不具体的 Google 搜索可以获得的内容。假设使用现代的 Emacs,28.1 或更高版本。此外,如果你是新手用户,仍然在阅读:Emacs 行话 现代术语 M-x Alt + x C-x Ctrl + x Frame Emacs 窗口 Window split/pane Buffer 连续的文本/数据块 Point 光标在缓冲区的位置 Active Region 文本选择 Region 文本选择(未高亮) Face 字体、颜色和显示属性 很抱歉。好吗?那么,开始吧: 鼠标悬停显示字典 (M-x dictionary-tooltip-mode) 打开 dictionary-tooltip-mode,当你将鼠标悬停在单词上时可以看到工具提示中的词义:当然,tooltip-mode 也需要启用,但这是默认设置。如果你已经设置了本地字典,它会优先尝试这些本地字典。请注意,Emacs 的字典还可以查找到现代行话和术语,通常通过维基词典: [视频: Emacs dictionary-tooltip-mode 演示] 找文件和 dired 中使用通配符 一个出乎意料地鲜为人知的实用工具,就是两个最常用的 Emacs 命令:在使用 find-file 和 dired 时可以使用通配符。使用 find-file (C-x C-f) 找文件时,可以使用通配符打开多个文件,例如 *foo*.txt。在使用 Dired 打开目录时,通过指定文件名通配符来生成特定文件的自定义列表。以下是两个功能一起使用来清理一些(非常)旧的 TeX 编译产物的演示,然后一次性打开一堆 LaTeX 文件:[视频: Emacs Dired 和 Find-File 通配符演示] 逐步演示 使用“二级”通配符运行 Dired */*_region_*:查找所有名称中带有“_region_”的文件,但仅在子目录中。Dired 生成这些文件的列表。(这些是由 AucTeX 创建的临时文件。)选择它们全部(使用 dired-toggle-marks,绑定到 t)并删除。使用通配符运行 find-file,打开子目录中的所有 TeX 文件。检查缓冲区列表,查看是否打开了多个 TeX 文件。(查看打开缓冲区的命令是 consult-buffer,而 completions 则通过 Corfu 显示。)在编程调用时,这是可能的,从它们的函数签名中可以看出。但是,意识到这个功能在交互使用时也是可用的,则需要仔细阅读完整文档字符串,而没有人有时间去做这个!实际上,Dired 通配符能力被现代工作流如 consult-find 所替代,该工作流通过 embark-export 导出为 Dired 缓冲区,但这个功能开箱即用。你可能熟悉 Emacs 的“在点上查找文件”功能 M-x ffap,它会检查光标是否在有效的文件路径上并提供打开它的选项。这伴随着一个不太知名但同样方便的命令 ffap-menu。ffap-menu 扫描整个缓冲区,查找看起来像文件路径或 URL 的内容,并将所有这些呈现给你:[视频: Emacs ffap-menu 演示] 由于它提供了完成读取界面,这打开了一个小宇宙的可能性:你可以将(可能过滤过的)完成列表导出到缓冲区,复制或打开所有或任意子项。

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡