惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
aimingoo的专栏
aimingoo的专栏
Microsoft Security Blog
Microsoft Security Blog
NISL@THU
NISL@THU
T
Threatpost
T
The Exploit Database - CXSecurity.com
T
Threat Research - Cisco Blogs
S
Securelist
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
人人都是产品经理
人人都是产品经理
B
Blog RSS Feed
S
Secure Thoughts
MyScale Blog
MyScale Blog
O
OpenAI News
P
Palo Alto Networks Blog
美团技术团队
C
Cyber Attacks, Cyber Crime and Cyber Security
TaoSecurity Blog
TaoSecurity Blog
量子位
L
Lohrmann on Cybersecurity
G
GRAHAM CLULEY
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
Tailwind CSS Blog
Know Your Adversary
Know Your Adversary
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Simon Willison's Weblog
Simon Willison's Weblog
宝玉的分享
宝玉的分享
PCI Perspectives
PCI Perspectives
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
C
Cybersecurity and Infrastructure Security Agency CISA
T
Tenable Blog
I
InfoQ
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Microsoft Azure Blog
Microsoft Azure Blog
Recent Announcements
Recent Announcements
S
Security @ Cisco Blogs
S
Schneier on Security
B
Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
The Cloudflare Blog
AWS News Blog
AWS News Blog
IT之家
IT之家
V
Vulnerabilities – Threatpost
The Hacker News
The Hacker News
H
Heimdal Security Blog
I
Intezer
A
Arctic Wolf
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
H
Help Net Security
W
WeLiveSecurity

暗无天日

读:AI Agent 安全日志——从可见性与隐私的两难说起 - 暗无天日 读:AI Agent 生产化——一份从原型到上线的速查清单 - 暗无天日 AI写作的语言指纹——如何让文字不那么像机器 - 暗无天日 读:50 条 Claude Code 技巧——一个工程经理的六个月使用心得 读:AI 辅助开发为什么让 E2E 测试更有价值 - 暗无天日 Claude Code 背后的工程哲学——读 Agent Harness Engineering 读:Agent Harness Engineering——AI 智能体不只是模型,还有套件 - 暗无天日 browser-harness:让 AI 直接接管你的浏览器 - 暗无天日 读:Security-First CI/CD —— DevSecOps 自动化实践指南 TIL: 数字小键盘的小数点陷阱与行内算术求值 - 暗无天日 读:Immutability 不是万能药,它是一种权衡 - 暗无天日 Conducty:给 Claude Code 加上项目记忆和并行执行能力 - 暗无天日 读 — GitHub Trending 里的 Claude Code 技能包 读 — Prompt Caching 省钱指南 TIL: Emacs 中那些跟鼠标配合的冷门快捷键 - 暗无天日 读:Anvil——把 Emacs 变成 AI 的工具服务器 读:Emacs 代码折叠终极指南 - 暗无天日 读:Clojure 搭车客指南 - 暗无天日 git推送失败后恢复仓库损坏的完整记录 - 暗无天日 多智能体系统的两个有效模式——以及对 Claude Code 用户的启示 - 暗无天日 用 Org Babel 写 Literate 博文:扩展执行 + 定制导出 proced:Emacs 内置的进程查看器 - 暗无天日 从 proced 定制中学到的 Elisp 模式 读:让 Emacs proced 在 macOS 上显示 CPU 和内存 异步编程的函数着色税 - 暗无天日 链式调用的代价:JavaScript 和 Clojure 的共同教训 - 暗无天日 hyperfine:命令行基准测试工具 - 暗无天日 管道中的变量去哪了?——子 shell 作用域陷阱 - 暗无天日 开源包装器的信任陷阱:四个危险信号 - 暗无天日 程序员愿意为 AI 写文档,却不愿为同事写 - 暗无天日 mktemp: Shell 脚本中临时文件的安全陷阱与最佳实践 - 暗无天日 WSL9x —— 在 Windows 9x 里跑 Linux 内核 6.19 用 ox.el 做你想做的事 —— org-export 高级编程指南 读:Hot-wiring the Lisp Machine —— 用纯 Elisp 构建零依赖的 Org 静态站点生成器 Elisp 性能优化的六个实战教训 - 暗无天日 fcitx5 下 Emacs 无法切换输入法的排查 - 暗无天日 ERT 测试交互命令的三种方式 - 暗无天日 SEM Assistant: 当 Elisp 守护进程遇上 LLM 用 dmsg 给 Elisp 加上结构化调试日志 用 org-habit 追踪非每日习惯 - 暗无天日 Clojure X-Men:当编程语言特性变成超能力 - 暗无天日 TIL: 用 diff-hl 在 fringe 中显示 git 变更 读:llm-test —— 用 LLM agent 驱动 Emacs 测试 TIL: AI 时代的橡皮鸭调试 - 暗无天日 fcitx 启动后键盘输入卡顿的排查 - 暗无天日 TIL: 早期网页的图片热区导航 - 暗无天日 读 Seeing the Whole System 用 Emacs 自动生成每周链接推荐 - 暗无天日 读:ASCII control characters in my terminal 读 What to learn - 暗无天日 Lisp 的括号之痛——一个愚人节玩笑揭开的老伤疤 - 暗无天日 一本书该"线性读"还是"并行读" - 暗无天日 读 How to Monetize a Blog:一篇伪装成变现指南的讽刺文 Python Mock 第三方依赖的四种策略 - 暗无天日 Emacs Lisp 热重载实用指南 - 暗无天日 Prot 的 Emacs 配置哲学 - 暗无天日 TIL: 从直播对谈中学到的三个 Emacs 技巧 - 暗无天日 TIL: 自动使用项目虚拟环境的 Python - 暗无天日 TIL: 让 Help buffer 自动获得焦点 一条命令让本地开发用上 HTTPS —— slim 工具介绍 用 fsck 检查和修复 Linux 文件系统 排查Linux进程"卡死"实战:从strace到gdb全流程 - 暗无天日 PostgreSQL 索引:从基础到你可能不知道的高级用法 - 暗无天日 用 .pdbrc 自定义 Python 调试器 ANSI 转义码的标准化现状 - 暗无天日 终端程序的潜规则 - 暗无天日 PARA Org-mode 测试配置 - 暗无天日 AI越强越辣鸡?控制论说这是必然的 - 暗无天日 AI 越强越需要你盯着——反馈循环实操指南 - 暗无天日 你的AI代理正在偷你的密钥——四种你没想到的泄露通道 - 暗无天日 LLM 在 DevOps 中的三种角色 - 暗无天日 写作风格的反建议 - 暗无天日 反驳本质复杂性——Dan Luu 论为什么《没有银弹》错了 - 暗无天日 文件充满了危险——Dan Luu 谈文件系统的可靠性陷阱 - 暗无天日 AI 时代的 PARA 方法:用 Org-mode 和 AI 打造个人知识管理系统 Linux 数据去重学习笔记 - 暗无天日 创建跨平台 ZIP 文件的隐藏陷阱:Extra Field - 暗无天日 X11 Forwarding 排障指南 - 暗无天日 IP欺骗端口扫描:当别人冒充你去扫描别人 - 暗无天日 Linux 输入栈全景解析:从硬件按键到屏幕响应 - 暗无天日 Unix 系统中那些被埋没的配置开关——以 FontConfig 为例 - 暗无天日 在Linux上限制儿童使用电脑 - 暗无天日 GIF不仅仅是一种图片格式——用GIF流做些奇怪的事 - 暗无天日 Leiningen 学习笔记:Clojure 项目构建与管理从入门到实战配置 - 暗无天日 Google SRE Book 读书笔记 - 暗无天日 yes 管道 head 发生了什么 - 暗无天日 为什么 nohup 在 crontab 中不起作用 Bash中的Indirection与Nameref - 暗无天日 Linux PAM 简介 - 暗无天日 从Linux ISO文件启动计算机 - 暗无天日 用 Bash 打造一个Screen Locker 用GitHub Actions自动构建EGO博客 - 暗无天日 blocking I/O 的作用 - 暗无天日 mobileog 手机端同步提示Error:2 No such file 的解决方法 回收 WSL2 VHDX 文件占用空间 使用 org-mode columnview 生成任务列表 - 暗无天日 Emacs 作为 MPD 客户端 - 暗无天日 移动文件路径却不破坏org file link的方法 - 暗无天日 如何合理的导出help link 成HTML - 暗无天日 笑话理解之Biology - 暗无天日
读:在Emacs中使用Claude Code(Spacemacs适配版) - 暗无天日
2026-04-30 · via 暗无天日

Claude Code 是 Anthropic 提供的 CLI 工具,可以直接在终端中与 Claude 对话,让 Claude 读取你的整个项目目录、执行命令、修改文件。而 claude-code.el 包把这个能力集成到了 Emacs 中,让你不用离开编辑器就能用 Claude 协助编码。

原文(Will Schenk, Claude Code in Emacs)介绍了如何在 Emacs 中配置和使用 claude-code.el 。下面是我在 Spacemacs 中的适配配置和使用说明。

安装 Claude Code CLI

在配置 Emacs 之前,需要先安装 Claude Code 命令行工具:

npm install -g @anthropic-ai/claude-code

然后在项目根目录执行 claude 来授权和初始化。Claude Code 会读取当前目录及其子目录的所有文件,因此启动时所在的目录决定了它能访问的范围。

Spacemacs 配置

原文使用 use-package + straight.el 来安装包。在 Spacemacs 中,配置方式略有不同。

安装 vterm、claude-code 和 monet

vterm 是终端模拟器,claude-code 用它来与 Claude Code CLI 交互。 claude-code.elmonet 则没有收录到 MELPA 中,需要用 recipe 从 GitHub 直接安装。在 dotspacemacs-additional-packages 中一并添加:

dotspacemacs-additional-packages
'(
    vterm
  (claude-code :location (recipe :fetcher github :repo "stevemolitor/claude-code.el"))
  (monet :location (recipe :fetcher github :repo "stevemolitor/monet"))
  )

monet 是可选的 IDE 集成包,它为 Claude 提供 WebSocket 接口,让 Claude 能感知 Emacs 的上下文(当前打开的文件、光标位置等)。不装 monet 不影响基本功能。需要说明的是, monet 不依赖 claude-code ,两个是独立的包。

配置与快捷键

配置代码放在 dotspacemacs/user-config 中:

(with-eval-after-load 'claude-code
    (setq claude-code-terminal-backend 'vterm)

    (add-hook 'claude-code-process-environment-functions
            #'monet-start-server-function)
  (monet-mode 1))

(spacemacs/set-leader-keys
  "a c c" 'claude-code                      "a c d" 'claude-code-start-in-directory   "a c e" 'claude-code-fix-error-at-point   "a c r" 'claude-code-send-region          "a c o" 'claude-code-send-buffer-file     "a c s" 'claude-code-send-command         "a c C" 'claude-code-continue             "a c R" 'claude-code-resume               "a c k" 'claude-code-kill                 "a c m" 'claude-code-transient            "a c b" 'claude-code-switch-to-buffer     "a c z" 'claude-code-toggle-read-only-mode) 

以上配置将快捷键集中在 SPC a c 前缀下,符合 Spacemacs 的应用快捷键惯例。原文使用 C-c c 前缀,如果你习惯 Emacs 原生风格,也可以按自己的喜好调整。

功能详解

启动会话

SPC a c c 从当前 buffer 所在的目录启动一个 Claude Code 会话。如果需要指定其他目录,按 SPC a c d 手动选择。

启动后会在 Emacs 中打开一个 vterm buffer,里面运行着 Claude Code 的交互界面。你可以像在终端中一样直接输入问题,Claude 会读取项目文件后回答。

发送上下文

与 Claude 协作的关键在于提供正确的上下文。 claude-code.el 提供了几种发送方式:

  • SPC a c eclaude-code-fix-error-at-point ):最实用的功能之一。将光标放在错误上,按这个快捷键会连同错误信息、光标位置的代码上下文一并发送给 Claude,Claude 能直接定位到问题所在并给出修复方案。
  • SPC a c rclaude-code-send-region ):选中一段代码后发送,或直接发送整个 buffer 内容。适合让 Claude 审查代码、解释逻辑或提出改进建议。
  • SPC a c oclaude-code-send-buffer-file ):发送当前文件。与 send-region 的区别在于它发送的是文件路径而非内容,Claude 直接从文件系统读取,对大文件更高效。
  • SPC a c sclaude-code-send-command ):发送任意文本,不绑定到当前文件。适合问一般性问题。

错误修复循环

claude-code-fix-error-at-point 是原文特别强调的高频使用场景。典型的工作流是:

  1. 在 Emacs 中编辑代码,触发编译或 flycheck 报错
  2. 将光标移到错误行,按 SPC a c e
  3. 查看 Claude 的修复建议
  4. SPC a c s 告诉 Claude 执行修复

Claude 不仅能修复当前文件,如果有足够的项目上下文,它还能同时修改相关的测试文件或配置文件。原文中提到,Claude Code CLI 运行在一个持久的 shell 会话中,环境变量、工作目录和已安装的依赖在整个会话中保持一致,这意味着 Claude 可以运行测试来验证自己的修复是否正确。

会话管理

claude-code.el 的对话历史是跨 Emacs 会话持久化的。即使关闭重启 Emacs,之前的对话记录仍然保留。相关快捷键:

  • SPC a c C :直接恢复最近一次的会话
  • SPC a c R :从所有历史会话中选择一个恢复
  • SPC a c k :终止不再需要的会话

工作模式说明

理解以下三个概念有助于更好地使用 claude-code.el

目录范围决定上下文

Claude Code 以目录为访问边界。在项目根目录启动,Claude 能读取构建文件、文档和完整的源代码树。在子目录启动,访问范围仅限于该子树,这对大型 monorepo 或包含敏感文件的目录很有用。

持久 shell 会话

每次启动的 Claude Code 会话运行在一个持久的 shell 进程中。这意味着你在对话中执行的 cd 、导出的环境变量、安装的依赖包都会在后续命令中持续生效。Claude 可以在这个会话中执行测试、安装依赖、甚至创建 git 提交。

IDE 集成

如果安装了 monet ,Claude 能获得更多 IDE 层面的上下文,比如当前打开的文件列表、光标所在函数等。不过 monet 是独立的包,不依赖 claude-code ,两者配合使用时需要分别配置。

小结

Claude Code 本身是一个功能完整的 CLI 工具, claude-code.el 的作用是把它嵌入到 Emacs 的工作流中,省去了频繁切换窗口的麻烦。Spacemacs 环境下只要注意包的安装方式(用 recipe 从 GitHub 拉取)和快捷键风格(用 SPC 前缀),配置起来并不复杂。

如果你想了解更详细的命令列表和配置选项,可以直接在 Emacs 中通过 C-h f claude-code 查阅文档,或查看 GitHub 上的 claude-code.el 仓库