跳过正文
  1. 所有文章/

Claude Code 进阶笔记

·4059 字·9 分钟·
Aaron
作者
Aaron
I only know that I know nothing.
目录

前言
#

之前写了一篇 Claude Code 的上手指南,覆盖了安装配置和基础功能。后来深入使用的过程中,发现还有不少进阶玩法我之前没涉及到,比如 NoFlicker 模式、输入技巧、会话管理、缓存策略这些。这些功能单独看都是小细节,但组合起来对日常使用体验的提升非常大。这篇文章把这些内容整理出来,算是上一篇的补充1

NoFlicker 模式(无闪烁模式)
#

传统模式下,Claude Code 每次对话都会把整个历史完整拉出刷新,超过终端刷新速度导致闪烁。NoFlicker 模式从根本上解决了这个问题。

启用方式:在 settings.json 中添加 "noFlicker": true,或使用命令 /tui fullscreen。恢复传统模式用 /tui default

三大改进

  1. 内置虚拟滚动:不再依赖终端滚动,类似 vim 的屏幕滚动方式,支持 Page Up/Page Down 和鼠标滚轮,滚动平滑
  2. Focus 精简显示:每轮对话只显示问题加最终结果摘要(如「编辑了 5 个文件,增加 54 行,删除 25 行」),中间过程可展开查看,不关心就折叠
  3. 上下文快速定位:直接看到每轮对话的问题和回复的对应关系,不用滚很长距离

Ctrl+O 三级切换(传统模式只有一级):

  • 第 0 级:Focus 模式,只显示摘要
  • 第 1 次 Ctrl+O:显示每步操作概要(bash 仍精简)
  • 第 2 次 Ctrl+O:完全展开,等同传统模式

其他交互

  • 底部有「跳回底部」按钮
  • 支持鼠标点击穿透
  • Ctrl+O 后按 V 可用 nvim 打开完整对话记录,方便复制和搜索(vim 用户狂喜)
  • Ctrl+O 后按 [ 切换到终端原生滚动模式

输入技巧
#

Ctrl+S:输入暂存
#

正在输入长提示词时,突然想先执行别的操作(切模型、运行命令、调用技能),按 Ctrl+S 把当前输入推到栈上,执行完其他操作后自动恢复。

Ctrl+G:外部编辑器编辑提示词
#

长提示词用 Ctrl+G 打开外部编辑器(需设置 EDITOR=nvimEDITOR=code),多行编辑更省力,保存退出后自动填充到输入框。

Ctrl+V:粘贴图片
#

直接 Ctrl+V 粘贴截图到对话,可以对着截图提问、要求模仿 UI 设计等。Claude 会根据图片理解你的需求。

!:就地运行 bash 命令
#

输入 ! ls 等命令可直接在 Claude Code 内执行,输出自动进入上下文。好处:

  • 运行后直接提问,Claude 能看到命令输出
  • 报错后直接说 “fix”,Claude 看到错误就地修复
  • 不用手动粘贴错误信息

btw:旁路提问(不进上下文)
#

在 Claude 工作过程中,输入 btw <问题> 进行临时提问:

  • 不进入主上下文,不浪费 token
  • 不打断当前正在执行的任务
  • 一次性问答,用完自动消失
  • 适合不确定是否相关的问题

会话管理
#

clear:清空上下文
#

/clear 清空当前上下文,开始全新对话。好处:

  • 省 token
  • 模型更专注于当前任务
  • 避免旧指令和新指令冲突导致降智

resume:恢复会话
#

误操作 clear 后可用 /resume 恢复之前的对话。

rename:重命名会话
#

  • /rename <名称>:手动命名
  • /rename(不带参数):让 Claude 根据上下文自动生成名称
  • 多开会话时方便识别每个会话在做什么

color:会话着色
#

/color <颜色> 给会话设置主题色,视觉区分不同会话,快速联想。

recap:自动回顾
#

  • 闲置一段时间后自动生成灰色 recap 摘要
  • 切换回来一眼就知道之前在做什么
  • 也可手动输入 /recap 触发
  • 可在 config 中关闭此功能(觉得浪费 token 的话)

copy:复制回复
#

  • /copy:复制最近一条回复
  • /copy <数字>:复制指定编号的回复
  • NoFlicker 模式下也支持鼠标选中文本直接复制(使用 OSC52 终端功能)

Rewind(回滚)
#

回滚对话 + 代码
#

不仅回滚对话,同时撤销 Claude 的代码修改。

仅回滚对话
#

只撤销对话,不修改代码(但已删除的文件无法恢复)。

触发方式
#

  • 命令行输入 /undorewind
  • 按两下 Esc 也可触发

非交互模式(命令行直接调用)
#

claude "提示词"
#

直接在终端执行,进入 TUI 后自动运行。

claude -p "提示词"(纯管道模式)
#

不启动 TUI 界面,直接输出结果到终端。用途:

  • 搭配 claude -p --model haiku "make a commit" 用便宜模型快速生成 commit
  • 结合脚本自动化工作流
  • 适合只关心最终结果不关心过程的场景

自然语言转命令
#

直接用自然语言描述想做的事(如 “删除 wiki 相关的 mcp”),Claude 自动转换为正确命令执行。

Worktree(工作树隔离)
#

概念
#

在独立目录创建完整代码副本,修改不影响主工作区。多个 Claude 会话可同时在不同 worktree 中并行工作,互不干扰。

使用方式
#

  • claude -w <名称> 或对话中说 “switch to worktree”
  • 在 worktree 中开发功能,完成后说 “merge back to main”
  • 每个 worktree 自动创建独立分支

典型工作流
#

  1. 说 “switch to worktree, 开发 XXX 功能”
  2. Claude 自动创建 worktree 和命名分支
  3. 切换到 Plan 模式 → interview me(让 Claude 先提问再规划)
  4. 接受计划 → 执行
  5. 完成后说 “merge back to main”

Plan 模式的 interview me
#

在 Plan 模式中输入 interview me 让 Claude 先提问关键需求,避免:

  • 方案和预期不符导致返工
  • 浪费时间重新对话纠正
  • 提前确认好再开始实施

定时任务与循环
#

Loop:循环任务
#

/loop 1m report cpu usage
  • 每隔指定时间重复执行提示词
  • 使用 CronCreate 在 Claude 内部创建定时器
  • 退出会话时 loop 停止
  • 建议配合 tmux 使用,保持会话不关闭

Schedule:一次性定时任务
#

用自然语言描述即可:

  • “16 点帮我运行 XXX”
  • Claude 自动设置定时执行
  • 到时间自动执行,终端需保持开启
  • 可用 CronDelete 手动取消

Skills(技能系统)
#

技能按需加载
#

  • 技能只在需要时加载,不常驻上下文(一个 Skill 约 10 token)
  • 对比 MCP:一个 MCP 动辄几千 token 占用上下文
  • 技能通过 description 中的关键词/模式匹配触发

从对话创建技能
#

把当前对话中的常用任务转化为可复用的 Skill:

  • 检测对话中发生了什么有意义的操作
  • 引导你设置技能名称、目标、触发条件、参数
  • 保存后可随时调用

技能的 description 写法
#

description 写在 Skill 工具的描述里,采用 Anthropic 官方推荐格式:

描述技能功能。
Use this skill when: [触发条件/关键词模式]
  • 触发强度取决于 description 中的模式匹配强度
  • 越具体的模式越容易被 Claude 主动调用

技能内容按需加载
#

  • Skill 主文件只包含基本信息
  • 详细文档放在子目录的 reference 文件中
  • Claude 只在需要时才读取对应 reference
  • 支持引用网页 URL 获取最新文档

Hooks(钩子)
#

概念
#

在 Claude 执行特定操作(如调用 bash、编辑文件)前/后自动触发的脚本,写在 settings.json 中。

典型用途
#

a) 命令拦截替换

  • 检测到 pip → 提示改用 uv
  • 检测到 npm → 提示改用 pnpm
  • 可设置 fallback(特殊情况下允许跳过)

b) 编辑后自动复查

  • 每次编辑/写入文件后自动重新读取检查
  • 检查上下 30 行是否正确(如 JSON 少逗号等)
  • 检查无误则静默,有问题则自动修复
  • 比写规则更可靠,不增加编辑时的认知负担

c) 辅助技能触发

  • 检测到后台任务启动 → 注入提示让 Claude 联想 cache-keepalive 技能
  • 弥补大模型注意力"中间弱"的问题

为什么用 Hook 而不是规则
#

  • 低端模型(如 GLM)容易忘记文字规则
  • Hook 是程序化强制执行,100% 触发
  • 规则太多会降低推理质量
  • Hook 不干扰编辑时的注意力,只在操作完成后触发

Review 技能(代码审查)
#

代码审查要点
#

  • 检查修改文件与上下文风格是否一致(如换行规范)
  • 检查 AI 常见"拉屎模式"(smell detection)

AI 常见 Smell 模式
#

  • 防御性编程过度except: pass 吞掉所有异常不报告
  • 不必要的安全网:没出错也加默认值、类型转换
  • 不修 root cause:上游有问题,中间加过滤器而不是修源头
  • 死代码残留:改了功能但旧代码不删
  • 硬编码步骤编号:1. 2. 3. 改成 1. 2a. 2b. 很恶心
  • 复制粘贴改一点点:应该抽象成函数

适合用子代理(SubAgent)
#

审查需要读大量文件但结论很少 → 用子代理隔离上下文,只返回关键结论给主代理。

模型与配置建议
#

推荐使用 Opus
#

  • Opus 1M 上下文和 200K 同价(改价后)
  • 记忆召回能力极强,很早的对话都能想起
  • Sonnet 200K 容易遗忘之前的设定

Effort 设置
#

  • 必须设为 high 或 max
  • auto 模式对简单问题会跳过思考,质量大幅下降
  • 简单操作也可能涉及危险命令(如删除),跳过思考不可接受

关闭动态思考
#

  • Claude 4.0+ 新增动态思考:简单问题可能不思考直接回答
  • 建议关闭,让每次都用全量思考
  • 虽然慢一点贵一点,但 Max 套餐根本用不完

Bypass Permission
#

  • 全程 bypass 可以减少手动确认
  • 建议每个命令看一眼内容再执行
  • 修改自身配置时仍会询问

上下文管理最佳实践
#

核心原则
#

不要把单个上下文当宠物养 —— Claude 的上下文是有限记忆窗口。

关键建议
#

  • 话题切换时 clear 新开上下文
  • 无关上下文(如早上讨论吃什么)对当前任务(如讨论 Skill)毫无帮助
  • 上下文太长 → 注意力分散 → 智商降低
  • 大多数在 200K 时就已经开始降智,1M 只是延迟了压缩

重要结论沉淀为文件
#

  • 与 Claude 讨论出的规则、规范写到 CLAUDE.md 或 docs 文件夹
  • 上下文丢失后对话记录全无
  • 文件可以按需加载,上下文里的不行

Compact(压缩上下文)
#

  • /compact 把之前上下文简化描述为第一条消息
  • 接着在上面继续工作
  • 规则太多记不住 → compact 一次重置

注意力分布规律
#

  • 最新上下文:最熟悉(注意力最高)
  • 最前上下文:次熟悉
  • 中间上下文:最容易遗忘(注意力最弱)

缓存省钱策略(Cache Keepalive)
#

Anthropic 缓存机制
#

状态 价格倍率
首次请求(写缓存) 1.25x
缓存命中(读缓存) 0.1x
缓存失效(超过 TTL) 重新 1.25x
1 小时缓存选项 2.0x

五分钟策略
#

  • 默认缓存 TTL = 5 分钟
  • 每 5 分钟刷一次,保持缓存活跃
  • 刷 10 次(50 分钟)= 1.0x,远比 50 分钟后缓存失效重新 1.25x 划算
  • 通过 Hook + Skill 组合自动触发 cache keepalive

其他实用功能
#

claude install <包名>
#

自然语言安装软件,Claude 自动处理依赖和配置。

自然语言配置系统
#

  • 不用记复杂命令,直接用自然语言描述需求
  • Claude 自动转换为正确命令(如 systemd 配置、clash 守护进程等)

快捷键速查表
#

快捷键 功能
Ctrl+O 切换显示详细程度(NoFlicker 三级)
Ctrl+S 暂存当前输入,执行其他操作后恢复
Ctrl+G 用外部编辑器编辑提示词
Ctrl+V 粘贴图片到对话
Esc Esc Rewind(回滚)
Ctrl+OV 用 vim 打开完整对话记录
Ctrl+O[ 切换终端原生滚动
! <命令> 就地运行 bash 命令
btw <问题> 旁路提问(不进上下文)

命令速查表
#

命令 功能
/clear 清空上下文
/resume 恢复之前的会话
/compact 压缩上下文
/undorewind 回滚
/rename <名> 重命名会话
/rename 自动生成会话名
/color <色> 设置会话主题色
/copy [N] 复制最近/指定回复
/recap 手动触发回顾
/loop <时间> <提示> 循环执行任务
/focus / /focus off 切换 Focus 模式
/tui fullscreen 启用无闪烁滚动模式
/tui default 恢复传统模式
claude -p "..." 非交互模式运行

  1. 之前那篇上手指南覆盖了安装配置、三种交互模式、Plan Mode、Figma MCP、CLAUDE.md、Hook、Agent Skill、SubAgent、Plugin 等基础功能,建议先看那篇再来看这篇。 ↩︎