Ctrl+R仅查当前文件中被语法高亮识别为function/def/class的行,需保存、正确语言模式及规范写法;Ctrl+P+@跨文件跳转依赖索引完成;正则搜索(Ctrl+Shift+F)适用于特定结构;F12跳转定义不可靠,依赖插件且不处理动态导入。

Ctrl+R 只查当前文件,且必须满足三个前提
它不是“搜函数”,而是提取当前文件里被语法高亮识别为 function、def、class 的行。不保存、语言模式错、写法非常规,都会导致列表为空。
- 右下角必须显示正确语言(如
Python或JavaScript),点它手动切换,Plain Text下直接不工作 - 刚写完
def my_func():就按Ctrl+R?先Ctrl+S保存,未保存内容不进索引 - Python 中
_private()默认不出现;JS 中const fn = () => {}和obj.method = function() {}原生不识别
Ctrl+P + @ 是跨文件跳转最稳的原生命令
不用装插件、不依赖 LSP,但要求项目已加载且索引完成。输入格式严格,路径和符号名之间用 @ 连接,不是搜索,是符号索引匹配。
- 输
@render回车:列出项目中所有叫render的符号(函数/方法/变量),不分文件也不管作用域 - 输
utils.py@parse_config:直接打开utils.py并跳到parse_config所在行 - 首次添加项目后右下角显示
Indexing…时别急着输,等它消失再操作,否则结果漏或为空 - 不能写成
render@、render()或my_render(除非你记得拼写)
Ctrl+Shift+F 配合正则才是真解法
当你要找的是特定结构(比如箭头函数、async def、带装饰器的方法),Ctrl+R 和 Ctrl+P+@ 都失效,必须切到全局文本搜索并启用正则。
- Python 查函数定义:
^\s*def\s+\w+\s*\(|^\s*async\s+def\s+\w+\s*\(,勾选Regular Expression和Whole Word - JS 查命名函数:
^\s*function\s+\w+\s*\(;查箭头函数:const\s+\w+\s*=\s*\([^)]*\)\s*=> -
Where框务必填路径,例如src/**/*.py,不填会扫进node_modules或配置文件 - 函数调用要锚定结构:搜
console\.log\(\)而不是console.log(),括号和点必须转义
F12 跳转定义不可靠,别当成默认方案
原生 F12 在 Sublime Text 中默认无绑定,实际生效的是插件(如 SublimeCodeIntel 或 LSP)注入的功能。重装、换环境、升级后极易断连。
- 光标放在
requests.get上按F12没反应?先确认是否装了对应插件,再检查语言服务器是否启动成功 - 即使插件就位,对动态导入(
from utils import render)、别名(import pandas as pd)、字符串拼接("get_" + "user")也完全无法处理 - 真正容易被忽略的是:Sublime 从不理解模块导入链或作用域。所谓“跳转定义”,本质只是模糊匹配符号名——名字撞了就跳错,名字改了就跳不到


















