如何在Sublime Text中打开带语法格式化的标准输入内容?
如何在Sublime Text中打开带语法格式化的标准输入内容?
我之前也碰到过一模一样的问题,你的思路没问题,但命令的写法有点小问题——Sublime的--command "Set Syntax: JSON"是在程序启动阶段执行的,可这时候从管道传过来的内容还没完全加载到临时文件里,所以语法设置根本没作用到目标内容上。
给你两个可行的解决办法:
方法一:用Sublime内部命令指定语法
直接用set_file_type这个内部命令来设置语法,它能确保在内容加载完成后正确应用语法高亮,命令格式如下:
curl ... | subl --command 'set_file_type {"syntax": "Packages/JSON/JSON.sublime-syntax"}' -
这个命令里的Packages/JSON/JSON.sublime-syntax是JSON语法文件的默认路径,绝大多数Sublime版本都适用。如果你的版本里这个路径不一样(比如有些旧版本是Packages/JavaScript/JSON.sublime-syntax),可以通过Preferences > Browse Packages找到JSON语法文件的实际路径替换进去。
方法二:借助临时文件(更直观)
如果觉得上面的命令记起来麻烦,也可以先把curl的输出保存成临时JSON文件,再用Sublime打开:
curl ... > temp.json && subl temp.json && rm temp.json
这种方式Sublime会自动识别.json扩展名并应用语法高亮,用完临时文件也会自动删除。
备注:内容来源于stack exchange,提问作者kjam
相关产品推荐
相关产品推荐

