表格编辑器
用于编辑文本表格的软件包
详细信息
安装
- 总计 51K
- Win 25K
- Mac 18K
- Linux 8K
Aug 6 | Aug 5 | Aug 4 | Aug 3 | Aug 2 | Aug 1 | Jul 31 | Jul 30 | Jul 29 | Jul 28 | Jul 27 | Jul 26 | Jul 25 | Jul 24 | Jul 23 | Jul 22 | Jul 21 | Jul 20 | Jul 19 | Jul 18 | Jul 17 | Jul 16 | Jul 15 | Jul 14 | Jul 13 | Jul 12 | Jul 11 | Jul 10 | Jul 9 | Jul 8 | Jul 7 | Jul 6 | Jul 5 | Jul 4 | Jul 3 | Jul 2 | Jul 1 | Jun 30 | Jun 29 | Jun 28 | Jun 27 | Jun 26 | Jun 25 | Jun 24 | Jun 23 | Jun 22 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 4 | 1 | 0 | 0 | 7 | 1 | 4 | 5 | 4 | 2 | 1 | 1 | 3 | 5 | 3 | 5 | 0 | 3 | 0 | 3 | 0 | 1 | 3 | 1 | 1 | 4 | 4 | 5 | 2 | 3 | 1 | 1 | 3 | 7 | 7 | 4 | 5 | 0 | 0 | 4 | 0 | 3 | 2 | 5 | 2 | 2 |
Mac | 4 | 4 | 0 | 0 | 2 | 4 | 0 | 1 | 3 | 2 | 0 | 0 | 1 | 2 | 2 | 2 | 0 | 2 | 4 | 0 | 1 | 3 | 4 | 0 | 0 | 2 | 4 | 0 | 2 | 3 | 0 | 0 | 2 | 4 | 0 | 0 | 0 | 1 | 0 | 0 | 4 | 3 | 1 | 4 | 1 | 0 |
Linux | 0 | 0 | 2 | 0 | 1 | 0 | 2 | 0 | 0 | 1 | 0 | 1 | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 4 | 0 | 2 | 1 | 2 | 0 | 3 | 0 | 2 | 0 | 0 | 2 | 1 | 0 | 0 | 0 | 3 | 0 | 1 | 3 | 0 | 7 | 0 | 1 | 1 |
Readme
此软件包不再支持。我已经转移到 vim。
表格编辑器
概述
表格编辑器 是针对 Sublime Text 2 和 Sublime Text 3 编辑器的软件包,用于编辑文本表格。 表格编辑器 几乎拥有与 Emacs-org mode 表格编辑器相同的键。
表格编辑器 允许以简便的方式编辑文本表格,它允许
- 使用 tab/shift tab 导航
- 插入/删除行
- 插入/删除列
- 自动将数字单元格对齐到右侧,文本单元格对齐到左侧,标题单元格对齐到中心
- 将列移动到左侧/右侧
- 将行向上/向下移动
- 拆分长单元格
- 将两行合并为一行
- 将选中的 CSV 区域直接转换为表格
- 直接支持 subset of wiki 表语法
- 简单
- EmacsOrgMode
- Pandoc(网格表格、管道表格)
- 多 Markdown(支持 alpha 状态下的 colspan)
- reStructuredText
- Textile(支持 alpha 状态下的 colspan 和 rowspan)
- 根据视图语法自动检测表语法
- 动态在不同的表语法定义之间切换
- 暂时禁用/启用当前视图的表格编辑器
- 使用设置自定义表语法
- 支持 CJK:中文、日语、韩语(alpha 状态)
- 在 Scratch视图中展示演示影片
用法
基本编辑
对于第一次使用,您应该通过命令调色板启用表格编辑器
- 点击 ctrl+shift+p
- 选择 表格编辑器:为当前语法定制启用 或 表格编辑器:为当前视图启用 或“表格编辑器:为当前视图设置表语法 ...”
当启用《表格编辑器》时,请输入
| Name | Phone |
|-
然后按 Tab 键,即可获得格式化的表格
| Name | Phone |
|------|-------|
| _ | |
接着填写数据,并按 Tab 键,可以导航到下一个字段或必要时添加新行
| Name | Phone |
|-----------|-----------|
| Anna | 123456789 |
| Alexander | 987654321 |
| _ | |
为了使表格更快一些,请只输入
|Name|Phone
然后点击 Ctrl+k, Enter。
| Name | Phone |
|------|-------|
| _ | |
《表格编辑器》支持使用等号“=”的双横线。请输入以下内容
| Name | Phone |
|=
然后按 Tab 键
| Name | Phone |
|======|=======|
| _ | |
接着填写行并每次在 电话 位置时点击 Ctrl+k,Enter
| Name | Phone |
|===========|===========|
| Anna | 123456789 |
|-----------|-----------|
| Alexander | 987654321 |
|-----------|-----------|
| _ | |
除了使用 Tab 和 Shift+Tab 键,可以使用 Enter 键移动光标向下,必要时插入新行。
处理列
假设我们有一个包含列 | 名称 | 电话 | 的表格,您决定在 | 电话 | 列之前插入 | 年龄 | 列。为此,请将光标位置设置为 电话 列中的任何一行
| Name | Phone |
|-----------|-----------|
| Anna | 123456789 |
| Alexander | 987654321 |
| | _ |
点击 Alt+Shift+右键
| Name | | Phone |
|-----------|---|-----------|
| Anna | | 123456789 |
| Alexander | | 987654321 |
| | _ | |
填写 | 年龄 | 列
| Name | Age | Phone |
|-----------|-----|-----------|
| Anna | 32 | 123456789 |
| Alexander | 28_| 987654321 |
| | | |
然后经过一番考虑后,您决定交换 | 年龄 | 和 | 电话 | 列的位置。为此,您可以在 | 年龄 | 列中将光标置于窗口中,然后点击 Alt+右箭头;或者,当光标位置在 | 电话 | 列时,可以点击 Alt+左箭头
| Name | Phone | Age |
|-----------|-----------|-----|
| Anna | 123456789 | 32 |
| Alexander | 987654321 | 28_ |
| | | |
现在光标位置在 | 年龄 | 列,当您点击 Alt+Shift+左箭头 时,| 年龄 | 列将被删除
| Name | Phone |
|-----------|------------|
| Anna | 123456789 |
| Alexander | 987654321_ |
| | |
处理行
假设我们有一个表格
| Name | Phone | Age |
|-----------|-----------|-----|
| Anna | 123456789 | 32_ |
| Alexander | 987654321 | 28 |
| | | |
要插入当前光标位置下的行,请点击 Alt+Shift+下箭头
| Name | Phone | Age |
|-----------|-----------|-----|
| | | _ |
| Anna | 123456789 | 32 |
| Alexander | 987654321 | 28 |
| | | |
要删除行,请点击 Alt+ Shift+上箭头
| Name | Phone | Age |
|-----------|-----------|-----|
| Anna | 123456789 | 32_ |
| Alexander | 987654321 | 28 |
| | | |
有时单元格值会变得很长,就像下面的例子中的 | 职位 | 列一样
| Name | Phone | Age | Position |
|-----------|-----------|-----|----------------------------------|
| Anna | 123456789 | 32 | Senior Software Engineer_ |
| Alexander | 987654321 | 28 | Senior Software Testing Engineer |
| | | | |
您想要将 | 职位 | 列的值拆分为几个行。首先,让我们点击 Ctrl+k,- 在光标位置后插入单横线
| Name | Phone | Age | Position |
|-----------|-----------|-----|----------------------------------|
| Anna | 123456789 | 32 | Senior Software Engineer_ |
|-----------|-----------|-----|----------------------------------|
| Alexander | 987654321 | 28 | Senior Software Testing Engineer |
| | | | |
然后,将光标移到第一行中 工程师 词之前,并点击 Alt+Enter
| Name | Phone | Age | Position |
|-----------|-----------|-----|----------------------------------|
| Anna | 123456789 | 32 | Senior Software |
| | | | Engineer_ |
|-----------|-----------|-----|----------------------------------|
| Alexander | 987654321 | 28 | Senior Software Testing Engineer |
| | | | |
将光标移动到第一行中 软件 词之前,并再次点击 Alt+Enter
| Name | Phone | Age | Position |
|-----------|-----------|-----|----------------------------------|
| Anna | 123456789 | 32 | Senior |
| | | | Software Engineer_ |
|-----------|-----------|-----|----------------------------------|
| Alexander | 987654321 | 28 | Senior Software Testing Engineer |
| | | | |
将光标移动到 Senior 词之后的行
| Name | Phone | Age | Position |
|-----------|-----------|-----|----------------------------------|
| Anna | 123456789 | 32 | Senior Software Engineer_ |
|-----------|-----------|-----|----------------------------------|
| Alexander | 987654321 | 28 | Senior Software Testing Engineer |
| | | | |
让我们使用 Tab 键移动到第二行(自动跳过横线),然后点击 Ctrl+k,Enter
| Name | Phone | Age | Position |
|-----------|-----------|-----|----------------------------------|
| Anna | 123456789 | 32 | Senior Software Engineer |
|-----------|-----------|-----|----------------------------------|
| Alexander | 987654321 | 28 | Senior Software Testing Engineer |
|-----------|-----------|-----|----------------------------------|
| _ | | | |
将 CSV 转换为表格
选择包含 CSV 数据的文本
Name,Age
Anna,20
Alexander,27
然后点击 Ctrl+k, | 将 CSV 数据转换为表格,您将得到
| Name | Age |
| Anna | 20 |
| Alexander | 27 |
“将 CSV 转换为表格”命令将自动识别 CSV 方言,例如,您可以输入由 Tab 分隔的数据。如果 “将 CSV 转换为表格” 命令无法识别 CSV 语法,您将获得只有一行并且选中的行是表格中的一行的表格。
暂时启用/禁用当前视图的《表格编辑器》
有时,您可能想暂时启用并随后禁用 表格编辑器。如果编辑 Python 或 Java 代码,并希望格式化表格,如此后再继续编辑您的代码,这很有用。要这样做,您应该
- 点击 Ctrl+Shift+p 以显示命令面板
- 选择 表格编辑器:为当前视图启用
您编辑表格后,可以禁用表格编辑器
- 点击 Ctrl+Shift+p 以显示命令面板
- 选择 表格编辑器:为当前视图禁用
支持语法
表格编辑器支持以下表格语法
- 简单
- EmacsOrgMode
- Pandoc
- 多 Markdown
- reStructuredText
- Textile
简单
| Name | Age |
|-----------|-----|
| Anna | 20 |
| Alexander | 27 |
EmacsOrgMode
| Name | Age |
|-----------+-----|
| Anna | 20 |
| Alexander | 27 |
Pandoc 网格表格
+-----------+-----+
| Name | Age |
+===========+=====+
| Anna | 20 |
+-----------+-----+
| Alexander | 27 |
+-----------+-----+
Pandoc 管道表格
Pandoc 管道表格与多 Markdown 相同,如果您使用此表格样式,则必须切换到多 Markdown。
多 Markdown/Pandoc 管道表格
对齐
| Name | Phone | Age Column |
| :-------- | :---: | ---------: |
| Anna | 12 | 20 |
| Alexander | 13 | 27 |
| Right | Left | Default | Center |
| ----: | :--- | ------- | :----: |
| 12 | 12 | 12 | 12 |
| 123 | 123 | 123 | 123 |
| 1 | 1 | 1 | 1 |
Colspan(Alpha 状态)
| | Grouping ||
| First Header | Second Header | Third Header |
| ------------ | :-----------: | -----------: |
| Content | *Long Cell* ||
| Content | **Cell** | Cell |
| New section | More | Data |
| And more | And more | |
| :---------------------------------------: |||
RestructuredText
| Name | Age |
+-----------+-----+
| Anna | 20 |
| Alexander | 27 |
Textile
对齐
|_. Name |_. Age |_. Custom Alignment Demo |
| Anna | 20 |<. left |
| Alexander | 27 |>. right |
| Misha | 42 |=. center |
| | | |
Colspan(Alpha 状态)
|\2. spans two cols |
| col 1 | col 2 |
Rowspan(Alpha 状态)
|/3. spans 3 rows | a |
| b |
| c |
复合 Textile 表单元格指定符
|_\2. spans two cols |
|_<. col 1 |_>. col 2 |
注意:格式化和使用 colspan 和 rowspan 的 Textile 表格具有 Alpha 状态。
即时切换表格语法
表格编辑器语法通过用户设置检测到,如果未指定,则自动通过视图语法识别。但您可以通过命令面板即时更改表格语法
- 表格编辑器:将当前视图的表格语法设置为 'Simple'
- 表格编辑器:将当前视图的表格语法设置为 'EmacsOrgMode'
- 表格编辑器:将当前视图的表格语法设置为 'Pandoc'
- 表格编辑器:将当前视图的表格语法设置为 'MultiMarkdown'
- 表格编辑器:将当前视图的表格语法设置为 'reStructuredText'
- 表格编辑器:将当前视图的表格语法设置为 'Textile'
上述命令自动为当前视图启用表格编辑器。
CJK 支持
表格编辑器支持 CJK 语言。如果您使用 CJK 语言,您必须设置支持 CJK 字符的单字体。例如,以下字体在我的 Windows 计算机上工作:
- NSimSun
- FangSong
- SimHei
"font_face": "NSimSun",
| column A | column B | column C |
+----------+----------+-----------------+
| 这家伙 | 真的 | 棒极了! |
| この男 | 本当に | 素晴らしいです! |
单字体中 CJK 字符的尺寸相当于 2 个正常字符。
演示
按 ctrl+shift+p 键打开命令面板,选择 表格编辑器:在新的临时视图中显示演示视频。这是一个集成测试和演示。
安装
使用 Sublime Package Control
对于大多数用户来说,这是首选和最简单的方法。
- 安装 Package Control http://wbond.net/sublime_packages/package_control
- 打开 Package Control
- 选择 安装包
- 查找并选择 表格编辑器
使用 Git
如果您喜欢工作于 HEAD,您可以在您的包目录中定位 表格编辑器。
- 转到您的包目录,您可以通过使用菜单项 首选项 -> 浏览包… 定位到您的包目录。
- 在包目录内,使用以下命令克隆 SublimeTableEditor 存储库
git clone https://github.com/vkocubinsky/SublimeTableEditor.git “表格编辑器”
手动下载
- 使用 GitHub .zip 下载选项下载文件。
- 解压缩文件并将文件夹重命名为 表格编辑器。
- 将文件夹复制到您的 Sublime Text 2 包目录。
设置
您可以通过修改设置来自定义 表格编辑器。为此,您必须修改设置文件(参见 http://docs.sublimetext.info/en/latest/customization/settings.html)。
要为所有文件应用更改,您可以通过菜单“首选项 -> 设置 - 用户”打开用户设置。要为特定语法应用更改,您可以通过菜单“首选项 -> 设置 - 更多 -> 语法特定 - 用户”打开语法设置。
启用表格编辑器
默认情况下,表格编辑器 被禁用。要启用 表格编辑器,您必须设置:
{
"enable_table_editor": true
}
通常,您将通过通过按 ctrl+shift+p 键打开命令面板并选择 表格编辑器:为当前语法启用 来轻松地只对特定语法启用 表格编辑器。
设置表格语法
您可以使用设置来控制表格语法
{
// Set table syntax for Table Editor.
// Valid options are: "Simple", "EmacsOrgMode", "Pandoc", "MultiMarkdown",
// "reStructuredText", "Textile"
"table_editor_syntax": "Simple"
}
默认情况下,TableEditor 会根据以下规则自动检测视图语法中的表格语法:
- Markdown,MultiMarkdown -> MultiMarkdown
- reStructuredText -> reStructuredText
- Textile -> Textile
- 其他 -> Simple
为简单语法覆盖表格边框
您可以为简单语法覆盖表格边框样式。表格编辑器支持以下表格边框样式:
- simple: |—|—|
- emacs: org mode |—+—|
- grid: +—+—+
{
// Override border style for Table Editor
// Valid options are: "simple", "grid", "emacs"
"table_editor_border_style": "simple"
}
为简单语法覆盖自定义列对齐方式
此设置默认已启用,但您可以选择禁用它
{
// If table_editor_custom_column_alignment is true, supports '<', '>', '#' column alignment
"table_editor_custom_column_alignment": false
}
使用此功能,您可以使用格式字符显式设置对齐方式
- '<' - 左边对齐
- '>' - 右边对齐
- '#' - 居中对齐
如下例所示
| column 1 | column 2 | column 3 |
| <<<<<<<< | >>>>>>>> | ######## |
|----------|----------|----------|
| 1 | row 1 | c1 |
| 2 | row 2 | c2 |
| 3 | row 3 | c3 |
自动将数字列向右对齐
默认情况下,数字列向右对齐。如果您不喜欢这种方式,您可以禁用它
{
"table_editor_align_number_right": false
}
您还可以通过命令面板临时切换此设置
- 表格编辑器:为当前视图启用 'align_number_right'
- 表格编辑器:为当前视图禁用 'align_number_right'
检测标题列是否居中对齐
默认情况下,标题列居中对齐,如果不适用,可以禁用它
{
"table_editor_detect_header": false
}
您还可以使用命令面板临时切换此设置
- 表格编辑器:为当前视图启用 'detect_header' 检测标题
- 表格编辑器:为当前视图禁用 'detect_header' 检测标题
保留左侧空间
有时您可能不希望从列中的数据移除前导空格,如下例所示
| Unordered List | Order List |
|-----------------|---------------|
| - item 1 | # item 1 |
| - subitem 1 | # subitem 1 |
| - subitem 2 | # item 2 |
| - item 2 | # subitem 2 |
| | |
{
"table_editor_keep_space_left": true
}
您还可以通过命令面板临时切换此设置
- 表格编辑器:为当前视图启用 'keep_space_left' 保留左侧空间
- 表格编辑器:为当前视图禁用 'keep_space_left' 保留左侧空间
智能格式化
智能格式化是表格编辑器的一个配置选项。当前此选项仅适用于文本和多功能markdown表格。对于文本语法,默认情况下为真。如果您想禁用它,可以这样做:“json { 'table_editor_intelligent_formatting':false }
Let you have a table
|_. Attribute Name |_. Required |_. Value Type |
| | | |
and want a row spanning all 3 columns
|_. Attribute Name |_. Required |_. Value Type |
| \3. All Events | | |
after click tab table editor will format table as
|_. Attribute Name |_. Required |_. Value Type |
|\3. All Events |
Probably it is expected result and this result of Table Editor with
"table_editor_intelligent_formatting":true.
But probably you expected
|_. Attribute Name |_. Required |_. Value Type | | |
|\3. All Events | | |
and this result of Table Editor with
"table_editor_intelligent_formatting":false.
## Keybinding
**ctrl+shift+a**
Re-align the table without change the current table field. Move cursor to begin of the current table field.
**tab**
Re-align the table, move to the next field. Creates a new row if necessary.
**shift+tab**
Re-align, move to previous field.
**enter**
Re-align the table and move down to next row. Creates a new row if necessary.
At the beginning or end of a line, enter still does new line.
**alt+left**
Move the current column left.
**alt+right**
Move the current column right.
**alt+shift+left**
Kill the current column.
**alt+shift+right**
Insert a new column to the left of the cursor position.
**alt+shift+up**
Kill the current row or horizontal line.
**alt+shift+down**
Insert a new row above the current row.
**alt+up**
Move current row up
**alt+down**
Move current row down
**ctrl+k, -**
Insert single horizontal line below current row.
Doesn't make sense and doesn't supported for Textile syntax
**ctrl+k, =**
Insert double horizontal line below current row.
Doesn't make sense and doesn't supported for Textile syntaxes
**ctrl+k, enter**
Insert a horizontal line below current row, and move the cursor into the row below that line.
Doesn't make sense and doesn't supported for Textile syntaxes
**ctrl+k, |**
Convert selected CSV region into table
**alt+enter**
Split rest of cell down from current cursor position,
insert new line bellow if current row is last row in the table or if next line is hline
**ctrl+j**
Join current row and next row into one if next row is not hline
## License
Package is distributed by Apache 2.0 License
## Testing
Test environment
- Ubuntu 12.04 64bit on VirtualBox
- Windows 7 64bit
- OS X 10.8.4