sublime中的文件打开方式
sublime中的文件打开方式#
sublime里面的默认文件打开方式不太好用,比如想打开一个 ~/.gitconfig
文件编辑一下,在Windows下面还好,在Macos下面,除非把sublime_text的执行命令加入到path里面去,然后,从terminal里面去用命令行打开,否则就不是很方便,用finder默认是不显示 .
开头的文件的。
AdvancedNewFile#
这个插件可以在下方的input_panel
里面进行文件目录的导航,但是只能一个文件一个文件的往后切换,不能模糊搜索和过滤。应该增强模糊搜索和过滤的能力,以及拼音首字母的搜索和过滤的能力。通过 alt+super+n 调用来输入创建的文件路径。将默认路径设置为当前文件的文件夹。
优化点:
- 可以边输入,边检查和筛选
- 可以模糊筛选, 输入
abc
, 使用.*(a|A).*(b|B).*(c|C).*
进行正则匹配 - 可以拼音首字母筛选,使用下面的
pinyin_lib
,将拼音对应的中文加入到正则表达式,输入abc
, 使用.*(a|A|啊|阿...).*(b|B).*(c|C).*
进行正则匹配 - 可以绑定快捷键在多个候选项中进行选择,格式为:真实的路径|候选文件名[其他候选项列表]
tab
或者ctrl+j
选择第一个候选文件名ctrl+n
可以切换下一个候选文件ctrl+p
可以切换上一个候选文件ctrl+l
可以切换到上一级的文件夹enter
可以选择第一个候选文件名,但没有弹窗时,就是完成文件操作
第一版:#
基本上和Emacs的Ido文件补全功能基本一致:

第二版:#
没有达到helm
和vertico
这种竖排显示的效果,尝试了show_quick_panel
和ListInputHandler
都是只能过滤一个固定列表,不能新增,也不能自定义过滤函数。但功夫不负有心人,通过popup实现了想要的效果,可以边输入,边过滤,结果也可以很好的呈现了,用popup后基本可以随心所欲了。
后续可以把show_input_panel
和show_popup
结合创建一个enhanced的input模式,可以抽象出两个钩子函数,一个是根据输入产生一个列表,一个是自定义过滤函数,对列表进行过滤:

{"keys": ["ctrl+n"],"command": "advanced_new_file_next",
"context": [{"key": "setting.anf_panel"}]
},
{"keys": ["ctrl+p"],"command": "advanced_new_file_prev",
"context": [{"key": "setting.anf_panel"}]
},
{"keys": ["ctrl+l"],"command": "advanced_new_file_updir",
"context": [{"key": "setting.anf_panel"}]
},
{"keys": ["ctrl+j"],"command": "insert", "args": {"characters": "\t"},
"context": [{"key": "setting.anf_panel"}]
},
第三版:#
可以使用enter进行列表的选择和确认,当不需要选择时,enter可以打开文件,这样就和show_quick_panel
等的操作习惯是一致的了,另外,也增加了fuzzy sort
,可以根据输入值和候选列表中的值的距离进行选择,这样排列的顺序更有意义一些:
{"keys": ["ctrl+n"],"command": "advanced_new_file_next",
"context": [{"key": "setting.anf_panel"}]
},
{"keys": ["ctrl+p"],"command": "advanced_new_file_prev",
"context": [{"key": "setting.anf_panel"}]
},
{"keys": ["ctrl+l"],"command": "advanced_new_file_updir",
"context": [{"key": "setting.anf_panel"}]
},
{"keys": ["enter"],"command": "advanced_new_file_confirm",
"context": [{"key": "setting.anf_panel"}]
},
{"keys": ["ctrl+j"],"command": "insert", "args": {"characters": "\t"},
"context": [{"key": "setting.anf_panel"}]
},
之前是按照字母顺序来排列的,现在可以按照输入值和候选列表中的字符串的相似度进行排序,这样更reasonable。

新的github地址#
各种优化改造后,给作者提了PR:
https://github.com/yangwen0228/Sublime-AdvancedNewFile
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端