重构文本(RST)代码片段
Sublime Text 2和3的RST代码片段和代码补全快捷键
详细信息
安装
- 总计 15K
- Win 5K
- Mac 5K
- Linux 5K
8月6日 | 8月5日 | 8月4日 | 8月3日 | 8月2日 | 8月1日 | 7月31日 | 7月30日 | 7月29日 | 7月28日 | 7月27日 | 7月26日 | 7月25日 | 7月24日 | 7月23日 | 7月22日 | 7月21日 | 7月20日 | 7月19日 | 7月18日 | 7月17日 | 7月16日 | 7月15日 | 7月14日 | 7月13日 | 7月12日 | 7月11日 | 7月10日 | 7月9日 | 7月8日 | 7月7日 | 7月6日 | 7月5日 | 7月4日 | 7月3日 | 7月2日 | 7月1日 | 6月30日 | 6月29日 | 6月28日 | 6月27日 | 6月26日 | 6月25日 | 6月24日 | 6月23日 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 0 | 2 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
Mac | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
Linux | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
README
SublimeText ♥ reStructuredText
sublime-rst-completion 是一组代码片段和命令,用于帮助使用 SublimeText 编写重构文本。
演示
(图片链接到YouTube视频)
安装
最简单的安装方法是通过 Sublime Package Control 。只需查找 "重构文本(RST)代码片段"
否则您可以
将存储库克隆到您的 软件包文件夹
git clone [email protected]:mgaitan/sublime-rst-completion.git
或下载 .zip 文件并将其解压缩到您的 ST2/ST3 软件包文件夹中。
可选地,要使用 渲染预览 功能,您至少需要安装 Pandoc、docutils 或 rst2pdf 其中之一,并且它们应该在您的路径中可访问。(将包设置文件中的 command_path 变量复制到用户设置文件中,并将本地安装的路径添加到其中。)在 Debian/Ubuntu 上您可以通过 apt-get 安装它们。
$ sudo apt-get install pandoc docutils rst2pdf
使用方法
简单的代码片段作为以制表符触发的快捷键:输入快捷键并按下 <TAB> 替换为代码片段。如果代码片段有占位符,您可以使用制表符在它们之间跳转。
快捷键 | 结果 | 键盘快捷键 |
---|---|---|
h1 | 一级标题 | 见 标题 |
h2 | 二级标题 | |
h3 | 三级标题 | |
e | 强调 | ctrl+alt+i(Mac上为super+shift+i) |
se | 粗体强调 | ctrl+alt+b(Mac上为super+shift+b) |
lit 或 literal | 文字(内联代码) | ctrl+alt+k(Mac上为super+shift+k) |
list | 无序列表 | 见 智能列表 |
listn | 有序列表 | |
列表an | 自动有序列表 | |
def | 术语定义 | |
code | 代码块指令(Sphinx) | |
source | 预格式化(::块) | |
img | 图片 | |
fig | 图 | |
table | 简单表格 | 按ctrl+t查看魔法表格 |
link | 引用的超链接 | |
linki | 嵌入的超链接 | |
fn或cite | 自动编号的脚注或引用 | 按alt+shift+f查看魔法脚注 |
quote | 引言(epigraph指令) |
此外,标准告诫也被展开
快捷键 |
---|
注意 |
警告 |
危险 |
错误 |
提示 |
重要 |
注意 |
技巧 |
警告 |
预览渲染
您可以按住ctrl+shift+r使用不同的工具转换文档为不同格式。
在“快速窗口”中提供格式和工具,转换后结果将自动打开。
目前,可以使用Pandoc、rst2pdf或rst2*.py工具(包含在docutils中)生成html、pdf、odt或docx输出格式。
每次选择一个格式+工具选项时,以下列出的默认设置将更改。
注意
原始代码来自SublimePandoc项目。
魔法表格
表格有一个特定的魔法扩展。它的工作原理如下
网格表格
创建一些表格轮廓,使用两个或多个空格分隔列
This is paragraph text *before* the table. Column 1 Column 2 Foo Put two (or more) spaces as a field separator. Bar Even very very long lines like these are fine, as long as you do not put in line endings here. This is paragraph text *after* the table.
将光标放在要转换为表格的内容部。
按ctrl+t,输入(Linux或Windows)或super+shift+t,输入(Mac)。输出将类似于以下内容
This is paragraph text *before* the table. +----------+---------------------------------------------------------+ | Column 1 | Column 2 | +==========+=========================================================+ | Foo | Put two (or more) spaces as a field separator. | +----------+---------------------------------------------------------+ | Bar | Even very very long lines like these are fine, as long | | | as you do not put in line endings here. | +----------+---------------------------------------------------------+ This is paragraph text *after* the table.
现在假设你在单元格中添加一些文本
+----------+---------------------------------------------------------+ | Column 1 | Column 2 | +==========+=========================================================+ | Foo is longer now | Put two (or more) spaces as a field separator. | +----------+---------------------------------------------------------+ | Bar | Even very very long lines like these are fine, as long | | | as you do not put in line endings here. | +----------+---------------------------------------------------------+
按相同的触发器:神奇地,结构将固定
+-------------------+--------------------------------------------------------+ | Column 1 | Column 2 | +===================+========================================================+ | Foo is longer now | Put two (or more) spaces as a field separator. | +-------------------+--------------------------------------------------------+ | Bar | Even very very long lines like these are fine, as long | | | as you do not put in line endings here. | +-------------------+--------------------------------------------------------+
此外,如果您想保留列宽不变,可以按ctrl+t,r(在Mac上为super+shift+t,r)来回流表格。结果将是这样的
+----------+---------------------------------------------------------+ | Column 1 | Column 2 | +==========+=========================================================+ | Foo is | Put two (or more) spaces as a field separator. | | longer | | | now | | +----------+---------------------------------------------------------+ | Bar | Even very very long lines like these are fine, as long | | | as you do not put in line endings here. | +----------+---------------------------------------------------------+
使用基本的触发组合和光标可以合并简单的单元格。例如,假设你有这个表格
+----+----+ | h1 | h2 | +====+====+ | 11 | 12 | +----+----+ | 21 | 22 | +----+----+
将光标移到单元格12,按ctrl+t,向下。你将得到这样
+----+----+ | h1 | h2 | +====+====+ | 11 | 12 | +----+ | | 21 | 22 | +----+----+
注意
此功能的原始代码取自Vincent Driessen的vim-rst-tables
注意
为解决与CJK字符的对齐问题,使用了wcwidth的原始代码。
简单表格
除了上面的表格之外,还支持更简单的表格样式。它是如何工作的
创建一些表格轮廓,使用两个或多个空格分隔列
This is paragraph text *before* the table. Column 1 Column 2 Foo Put two (or more) spaces as a field separator. Bar Even very very long lines like these are fine, as long as you do not put in line endings here. This is paragraph text *after* the table.
将光标放在要转换为表格的内容部。
按ctrl+t,s(Linux或Windows)或super+shift+t,s(Mac)。输出将类似于以下内容
This is paragraph text *before* the table. ========== ================================================================================================ Column 1 Column 2 ========== ================================================================================================ Foo Put two (or more) spaces as a field separator. Bar Even very very long lines like these are fine, as long as you do not put in line endings here. ========== ================================================================================================ This is paragraph text *after* the table.
现在假设你在单元格中添加一些文本
========== ================================================================================================ Column 1 Column 2 ========== ================================================================================================ Foo is longer now Put two (or more) spaces as a field separator. Bar Even very very long lines like these are fine, as long as you do not put in line endings here. ========== ================================================================================================
按相同的触发器:神奇地,结构将固定
=================== ================================================================================================ Column 1 Column 2 =================== ================================================================================================ Foo is longer now Put two (or more) spaces as a field separator. Bar Even very very long lines like these are fine, as long as you do not put in line endings here. =================== ================================================================================================
注意
此功能的原始代码取自Vincent Driessen的vim-rst-tables
智能列表
自动检测有序或无序列表模式。当您键入如下内容时
1. Some item 2. Another|
按下换行符将在新行前添加一个逻辑的下一个项目
... 2. Another 3. |
如果您在项目为空时按回车键,标记将被删除,保留与上一行相同的缩进,以便允许多行项。请注意,列表项可以通过以下方式指定:字母或罗马数字模式后跟句点(a. b. c. ..., A. B. C. ..., i. ii. iii. iv. ..., X. XI. XII. ..., #.)、括号((a) (b) (c) ..., (A) (B) (C) ..., (i) (ii) (iii) (iv) ..., (X) (XI) (XII) ..., (#))或右括号。 (a) b) c) ..., A) B) C) ..., i) ii) iii) iv) ..., X) XI) XII) ..., #));
提示
相同的特性也适用于以|开始行的行块。
注意
此功能自豪地借鉴自 Muchenxuan Tongh的SmartMarkdown
标题
自动完成
您可以使用TAB键自动完成标准标题(上斜线/下划线)。
例如,尝试这个
**********<TAB> A longer main title *******
或者这个
A subtitle ---<TAB>
您将得到
******************* A longer main title ******************* A subtitle ----------
相应的。
折叠/展开
如果您将光标放置在已完成的标题中并按shift + TAB(Mac上的alt + TAB),则其下的部分将被折叠/展开。
例如
Folding/unfolding +++++++++++++++++<TAB> If you put the cursor in a completed header and press ``shift + TAB``, (``alt + TAB`` in Mac) the section under it will be folded/unfolded. Navigation ++++++++++ ...
结果如下
包含在标题下的嵌套部分。
导航
此外,还可以在标题之间跳转。alt+down和alt+up分别将光标移动到下一个或上一个较近的标题。
alt+shift+down和alt+shift+up同上,但仅限于相同级别或更高级别的标题之间(即忽略子标题)
标题级别会自动检测。
调整标题级别
在标题中放置光标,按ctrl + +(加号键)和ctrl + -(减号键)(Mac上的alt + +和alt + -)分别增加和减少标题级别。装饰(下划线/上划线)自动从文档中检测,并默认使用Sphinx约定。
例如,您将光标放在
Magic Footnotes| ---------------
这是一个二级标题,并将其转换为三级标题,按ctrl + -得到
Magic Footnotes +++++++++++++++ |
神奇脚注
这是添加脚注的更智能的方式,将它们(以及进行计数)分组在文档底部的公共区域。
当您想添加新的注释时,按alt+shift+f. 这将会发生
- 新的n+1(其中n是当前脚注数量)注释引用将添加到当前光标位置
- 相应的引用定义将添加到脚注区域的底部
- 光标将移到输入注释的位置
写入注释后,您可以用shift+up回到引用处。此外,如果光标紧接在引用之后(即:光标在下划线旁边,例如:[XX]_|),您可以用shift+down跳转到其定义。[1].
此功能基于J. Nicholas Geist为MarkdownEditing编写的代码。
作者
- 大部分功能由Martín Gaitán(mgaitan)添加
- 最初的想法来自Dominic Bou-Samra(dbousamra)
- 以及一些贡献者 contributors
提示
欢迎提交代码和错误报告!
许可证
该项目遵循BSD许可证。
[1] | 实际上,您也可以使用通用的alt+shift+f在注释之间跳来跳去 |