-
Notifications
You must be signed in to change notification settings - Fork 0
nvim workflow lsp and symbols
ES edited this page Jul 20, 2026
·
1 revision
这篇讲“代码结构级别”的跳转和操作,不是普通文本搜索
如果你只记一句话:
-
sw是按字符串找 -
gd / gr*是按语义找
| 快捷键 | 作用 | 什么时候用 |
|---|---|---|
gd |
definitions | 去定义 |
gD |
declarations | 去声明 |
grr |
references | 看所有引用 |
gri |
implementations | 看实现 |
grt |
type definitions | 看类型定义 |
gO |
workspace symbols | 查整个工作区符号 |
K |
hover | 看文档 |
gK |
signature help | 看函数签名 |
grn |
rename | 符号重命名 |
gra |
code actions | 修复、重构动作 |
grx |
run CodeLens | 执行 CodeLens |
基于 LSP 语义
适合:
- 去函数定义
- 去类型定义
- 去接口实现
- 去变量真正声明点
基于字符串
适合:
- 只是想全局搜某个词
- 项目没 LSP
- 想搜文案、路径、注释、JSON key
经验上:
- 想“理解代码结构”,优先
gd / gr* - 想“扫字符串出现位置”,优先
sw / sg
- 光标放在符号上
- 按
gd
- 光标放在符号上
- 按
grr
- 光标放在接口、方法或类型上
- 按
gri
- 光标放在符号上
- 按
grn - 输入新名字
gO 是整个工作区的符号搜索,不只看当前文件
适合:
- 想找某个函数但忘了在哪个文件
- 想找某个 type / interface / class
- 想从“符号名字”而不是“文件名”进入项目
如果 ff 是按文件找,gO 就是按代码符号找
看 hover 文档
适合:
- 看函数说明
- 看类型信息
- 看第三方库 API 注释
看函数签名
适合:
- 正在写调用参数
- 想知道参数顺序和类型
打开 code actions
适合:
- 快速修复诊断
- 导入缺失项
- 应用重构建议
运行 CodeLens
适合:
- 某些语言或框架在行内提供可执行动作
- 比如跑测试、执行生成动作之类
不是所有项目都会高频用到 grx,但看到 CodeLens 时可以直接试
- 看定义先
gd - 看影响范围先
grr - 看抽象背后的真实实现先
gri - 改名优先
grn,不要手工全局替换 - 不确定某个符号在哪时先
gO
解决“代码语义”
- 定义
- 引用
- 实现
- 类型
- 重命名
解决“文件名和文本”
- 文件
- 文案
- 注释
- 任意字符串
解决“批量替换”