sublime自身带有markdown语法高亮功能,不过却没有markdown预览的功能,需要通过安装插件实现。装上了OmniMarkupPreviewer,发现按下快捷键command + option + o时弹出的浏览器窗口并没有出现预期的结果,而是报错404。

浏览器里面看到的报错大致如下:

1
2
3
4
5
6
Sorry, the requested URL 'http://127.0.0.1:51004/view/26' caused an error:

'buffer_id(52) is not valid (closed or unsupported file format)'

**NOTE:** If you run multiple instances of Sublime Text, you may want to adjust
the `server_port` option in order to get this plugin work again.

在网上找了以下几种方法都没能解决:

更改服务器或端口

404错误有可能是服务器地址或者端口出错,这两样可以在Preferences > Package Settings > OmniMarkupPreviewer > Settings - Default里面更改:

1
2
3
4
5
6
7
// 原配置
"server_host": "127.0.0.1",
"server_port": 51004,

// 更改后的配置
"server_host": "0.0.0.0",
"server_port": 52000,

删除Strikethrough扩展

Preferences > Package Settings > OmniMarkupPreviewer > Settings - User粘贴以下内容,然后保存。

1
2
3
4
5
{
"renderer_options-MarkdownRenderer": {
"extensions": ["tables", "fenced_code", "codehilite"]
}
}

修复Strikethrough扩展

要修复这个扩展需要先找到扩展的存放位置:

由于我是Mac位置在

1
/Users/<username>/Library/Application Support/Sublime Text 3/Packages/OmniMarkupPreviewer/OmniMarkupLib/Renderers/libs/mdx_strikeout.py

然后直接更改配置文件,将最后的

1
2
def makeExtension(configs=None):
return StrikeoutExtension(configs=configs)

改为:

1
2
def makeExtension(*args, **kwargs):
return StrikeoutExtension(*args, **kwargs)

以上方法都没能解决,最后使用下面的方法解决

Preferences > Package Settings > OmniMarkupPreviewer > Settings - User粘贴以下内容:

1
2
3
4
5
6
{
"renderer_options-MarkdownRenderer": {
"extensions": ["markdown.extensions.tables", "markdown.extensions.fenced_code", "markdown.extensions.codehilite"]
}
}