在 Sublime 中配置 Markdown 环境
来源:互联网 发布:linux上安装maven 编辑:程序博客网 时间:2024/06/08 23:28
- Package Control
- Monokai Extended & Markdown Extended
- MarkdownEditing
- MarkdownTOC
- Table Editor
- Markdown Preview
- AcademicMarkdown
- Citer
- Pandoc
- 参考文档
最近在编写项目 Readme.md 文件的时候,发现 Sublime 默认对 Markdown 几乎没有支持,需要通过安装、配置插件(算上 Package Control 共 10 个)来完成。在此记录下完整过程(其实就是整合了网上资料,自己配置来用而已),非 OS X 系统快捷键有不同。
Package Control
通过包管理器 Package Control 安装插件的好处就是便于自动更新。
在 Sublime 中使用 Ctrl + ` 快捷键调出控制台,输入如下代码、回车,等待安装完成。
Monokai Extended & Markdown Extended
Markdown 格式在 Sublime 中默认无高亮,很多主题也不支持 Markdown 的高亮(包括 Markdown 代码块内的代码),Monokai Extended 和 Markdown Extended 是一套解决方案。
插件的安装方式是 Shift + Command + P 调出 Command Palette,输入 pci(模糊匹配),找到 Package Control: Install Package
、回车,输入插件名称、回车,等待安装。
注意需要将 Markdown 的文件格式与 Markdown Extended 这种语法关联起来,做法是点击 Sublime 右下角文档格式,在列表最上方名为 Open all with current extension as
二级列表中选择 Markdown Extended。一种临时设置方式可以是 Shift + Command + P 调出 Command Palette,输入 ssm,选择 Set Syntax: Markdown Extended
。
输入点内容看看,是舒服了不少。
MarkdownEditing
在 Sublime 中编写 Markdown 还有一个直观的不适就是缺少辅助提示,比如输入 *,编辑器应当自动补上一个 *,并使光标保持在两 * 之间,又比如应当支持选中一段文字快捷键添加链接。
Markdown Editing 提供了这些支持,它也提供配色方案(略丑)。
个人常用的三个快捷键是:
- Option + Command + K - 插入链接;
- Option + Command + V - 粘贴为链接格式;
- Shift + Command + K - 插入图片。
MarkdownTOC
编写 heading 较多的长文档,希望能够自动生成目录方便跳转,MarkdownTOC 可以帮助我们实现。
安装完成需要对其做一定配置,方法是打开 Preferences -> Package Settings -> MarkdownTOC -> Setting - User,键入以下配置:
User Setting 覆盖 Default Setting,修改 User Setting 而非 Default Setting 是为了将来插件升级用户配置不被覆盖。配置文件都是 json 格式,上面的三个配置作用分别是:
- 目录以链接形式呈现;
- 链接以圆括号包裹;
- 无限目录深度。
将光标置于文档首部,点击 Tools -> MarkdownTOC -> Insert TOC,会自动在文首生成目录,效果如下图。这个目录会随文档内容改变自动更新(可能需要保存来触发)。
Table Editor
键入表格是个体力活,Table Editor 可以帮助我们减轻工作量。
Markdown Preview
现在,代码、公式、表格、图片、链接、目录都齐活儿了,最后一步就是将 Markdown 文档渲染成我们想要的文档格式,Markdown Preview 责无旁贷。
安装后也需要进行一定配置:
在以上配置中我们设定渲染样式为 github,渲染结束后用浏览器打开,开启 uml、mathjax、pygments 等支持,最重要的一个配置项是 "github_inject_header_ids": true
,保证 heading 的 id 与 heading 内容一致,也就与 MarkdownTOC 生成的一致,也就恰好能够锚点定位。最后我们关闭了 autoreload,否则每当保存 Markdown 文件,后台都会进行一次渲染操作,你就会看到一颗彩虹糖在打转。
使用快捷键 Shift + Command + B,选择 Build with Markdown,一会儿就能在弹出的浏览器框里看到渲染结果了。
AcademicMarkdown
在查找资料的过程中发现可以用 Sublime + Markdown 写论文,就跟着学了一把。
AcademicMarkdown 通过在 Markdown 文档中添加一定的信息,具体说是文件头,来帮助我们将 Markdown 文档渲染为符合指定论文格式的文章。以下文件头摘自插件作者给出的 样例。
csl 是论文模板格式,更多格式可在 Zotero Style Repository 寻找。
Academic 还允许指定 bib 文件,在 Markdown 文档内添加引用,格式是 @citation_key
,下面介绍的 Citer 可以帮助我们管理引用。
Citer
具体说,Citer 帮助我们搜索、插入引用。
安装后需要进行一定配置:
只要修改 bibtex_file_path
即可,其它都是默认配置项,我的 bib 文件是由 Mendeley 维护的。值得一提的是,AcademicMarkdown 支持在文件头指定其它 bib 文件,Citer 中的 bib 是全局的。
Shift + Command + P 调出 Command Palette,输入 Citer,Show All 会列举全局 bib 文件中的所有项(如果是刚配置好可能结果为空,请稍作等待或重启 Sublime),Search 则显然用于搜索。
Pandoc
最终由神器 Pandoc 将 AcademicMarkdown 文档编译成论文。
这个插件只是 Pandoc 的使用配置接口,需要在系统中手动安装 Pandoc,OS X 下我使用 brew install pandoc
安装。我们要用到的两个命令是 pandoc
和 pandoc-citeproc
。除了 Pandoc,我们还需要配置 Latex 编译环境,我使用的是 TeX Live。
接下来配置 Pandoc 插件:
修改内容以 ** 标出,主要是指定相关命令、文件的路径作为 pandoc 命令的参数。
Shift + Command + P 调出 Command Palette,输入 Pandoc、选择 PDF 作为输出格式即可,这是一个示例。
原文:http://frank19900731.github.io/blog/2015/04/13/zai-sublime-zhong-pei-zhi-markdown-huan-jing/?utm_source=tuicool&utm_medium=referral
- 在 Sublime 中配置 Markdown 环境
- 在sublime中配置gcc/g++环境
- 在Sublime中配置LaTeX编写环境
- 在Sublime Text中配置Python环境
- Sublime Text中markdown配置
- 在Sublime Text 3 中配置 Verilog语法环境
- 在Sublime Text3中配置node.js环境
- 在sublime text3中配置python3开发环境
- 在Sublime中配置JsFormat
- Sublime Text3配置Markdown
- MarkDown Sublime配置
- Sublime Text3中配置Java环境
- sublime text3中配置Java编译环境
- 在Sublime中搭建SpiderMonkey编译环境
- 在 Ubuntu 14.04 中配置 Sublime Text 3 的 Golang 开发环境
- sublime text3 配置node环境在path中找不到node的解决
- 在Sublime Text 3中配置Python3的开发环境/Build System
- 使用Sublime text3 配置markdown
- CSS应用:过渡
- 空悬指针和野指针
- 如何分析堆的dump
- Kafka主要参数详解
- BeanUtils 转换器将Long ,Integer等数字类型的默认值设置为null
- 在 Sublime 中配置 Markdown 环境
- ReactNative学习
- 如何转载CSDN博客
- switch 关键字的学习
- 如何使用Xcode的Targets来管理开发和生产版本的构建
- 14、css高级属性
- 使用Genymotion调试出现错误INSTALL_FAILED_CPU_ABI_INCOMPATIBLE解决办法
- android OkHttp的使用
- request.getRequestDispatcher().forward() 和response.sendRedirect()区别