ctrl+shift+p filters: :st2 :st3 :win :osx :linux
浏览

重构文本(RST)代码片段

mgaitan 全部

Sublime Text 2和3的RST代码片段和代码补全快捷键

标签 代码片段

详细信息

  • 2017.08.08.12.57.15
  • github.​com
  • github.​com
  • 7年前
  • 42分钟前
  • 12年前

安装

  • 总计 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

源代码
raw.​githubusercontent.​com

SublimeText ♥ reStructuredText

sublime-rst-completion 是一组代码片段和命令,用于帮助使用 SublimeText 编写重构文本。

演示

(图片链接到YouTube视频)

/readmes/img/91494396f981a4294f9bb14f0e9c82935f92fe56.jpg

安装

最简单的安装方法是通过 Sublime Package Control 。只需查找 "重构文本(RST)代码片段"

否则您可以

可选地,要使用 渲染预览 功能,您至少需要安装 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使用不同的工具转换文档为不同格式。

在“快速窗口”中提供格式和工具,转换后结果将自动打开。

目前,可以使用Pandocrst2pdfrst2*.py工具(包含在docutils中)生成html、pdf、odt或docx输出格式。

每次选择一个格式+工具选项时,以下列出的默认设置将更改。

注意

原始代码来自SublimePandoc项目。

魔法表格

表格有一个特定的魔法扩展。它的工作原理如下

网格表格

  1. 创建一些表格轮廓,使用两个或多个空格分隔列

    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.
    
  2. 将光标放在要转换为表格的内容部。

  3. 按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的原始代码。

简单表格

除了上面的表格之外,还支持更简单的表格样式。它是如何工作的

  1. 创建一些表格轮廓,使用两个或多个空格分隔列

    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.
    
  2. 将光标放在要转换为表格的内容部。

  3. 按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
++++++++++

...

结果如下

/readmes/img/a18d9083e78d86857283efee39ec4303b34d301d.png

包含在标题下的嵌套部分。

导航

此外,还可以在标题之间跳转。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编写的代码。

作者

提示

欢迎提交代码和错误报告!

许可证

该项目遵循BSD许可证

[1]实际上,您也可以使用通用的alt+shift+f在注释之间跳来跳去