-
Notifications
You must be signed in to change notification settings - Fork 0
nvim workflow navigation and search
ES edited this page Jul 20, 2026
·
1 revision
这篇只讲一件事:在项目里更快找到“文件、文本、符号、位置”
如果你刚从 VS Code 迁移过来,可以把它理解为:
-
ff=Go to File -
sg=Search in Files -
sw= 搜索当前单词或选区 -
s= 当前屏幕内的极速跳转 -
<leader>E= 编辑器内文件管理器
| 快捷键 | 作用 | 什么时候用 |
|---|---|---|
<leader>ff |
查找项目文件 | 知道文件名,想直接打开 |
<leader>fr |
最近文件 | 刚打开过,想回去 |
<leader>fb |
当前已打开 buffer | 已经开过,不想重新搜磁盘 |
<leader>fc |
配置文件 | 想改 ~/.config/nvim 本身 |
| 快捷键 | 作用 | 什么时候用 |
|---|---|---|
<leader>sg |
全局文本搜索 | 知道一段文字,不知道文件名 |
<leader>sw |
搜索当前单词或选区 | 光标下变量、函数名、字面量要全局追踪 |
| 快捷键 | 作用 | 什么时候用 |
|---|---|---|
s |
Flash jump | 当前屏幕内快速跳到任意位置 |
S |
Flash Treesitter | 按语法节点跳,如函数、参数、标签 |
- 按
<leader>ff - 输入文件名的一部分
- 回车打开
适合:
- 知道目标文件大概叫什么
- 目录很深,但你不想一层层展开
比如:
- 想打开
theme.ts - 想打开
package.json - 想打开
README.md
- 按
<leader>sg - 输入文本
- 在结果里选择一条命中
- 回车跳到对应文件和行
适合:
- 只记得某个文案
- 想找某个函数在哪里被写过
- 想找 TODO、FIXME、接口路径、环境变量名
把光标放在一个词上,然后按 <leader>sw
适合:
- 变量名
- 函数名
- 组件名
- i18n key
- 某个 CSS class
如果先选中一段文本,再按 <leader>sw,会直接用选区作为搜索词
这套配置里,ff / fr / fb / fc / sg / sw 基本都走 Telescope
| 快捷键 | 作用 |
|---|---|
Ctrl-n / Ctrl-p
|
下一个 / 上一个结果 |
Ctrl-e / Ctrl-y
|
预览下滚 / 上滚 |
Ctrl-d / Ctrl-u
|
预览大步滚动 |
Esc 或 q
|
关闭面板 |
Enter |
打开当前结果 |
-
ff:从整个项目找文件 -
fb:只在已经打开过的 buffer 里切换
如果你已经开了一堆文件,fb 往往比 ff 更快
-
sg:手动输入任意关键字 -
sw:直接用当前词或选区,省一步输入
经验上:
- 已经在看某个符号,用
sw - 只有模糊印象,用
sg
s 不是搜索整个项目,它是“当前屏幕内跳转”
按下 s 之后,屏幕上可跳的位置会出现标签,你再按标签即可到达
适合:
- 当前文件很长,但目标就在眼前
- 想跳到右侧分屏的某一段附近
- 不想连续按很多次
w/j/f
-
/:适合找整份文件里的某个模式 -
s:适合当前可见区域内的瞬时跳转
S 走语法树,不只是看字符
适合:
- 跳到函数调用
- 跳到参数
- 跳到 JSX 标签
- 跳到对象字段
如果普通 s 是“眼睛看哪里就跳哪里”,S 更像“按代码结构跳”
这套工作流里,浏览和搜索有四层
适合“我知道名字或文本,想立刻跳过去”
<leader>ff<leader>sg<leader>sw
适合“我想在编辑器里持续看目录结构,还要顺手管理文件”
<leader>e<leader>E-
j / k预览文件 -
a / d / r / y / x / p管理文件 -
T打开回收站
可看:
适合“目标就在当前屏幕里,我只想瞬间跳过去”
sS
适合“我想在终端里做更完整的文件管理、批量整理、跨目录操作”
可看:
适合“我还没进编辑器,或者要跨目录搜”
-
ff [dir]搜文件 -
fs [dir]搜内容 -
fx混合搜索
可看:
- 先用
<leader>ff找文件,再用s在当前屏幕内落点 - 想边看目录边预览文件时,用
<leader>E,不要硬把 Telescope 当文件树用 - 找全局引用时,先
<leader>sw,再视情况切到 LSP 的grr - 只在已打开文件里来回切时,用
<leader>fb,不要每次都ff - 想找“某段文案 / 某个接口路径 / 某段 JSON key”,直接
<leader>sg