142 lines
1.8 KiB
Markdown
142 lines
1.8 KiB
Markdown
---
|
|
title: Tabular
|
|
category: Vim
|
|
updated: 2017-10-11
|
|
weight: -1
|
|
intro: |
|
|
[Tabular](https://github.com/godlygeek/tabular) is a Vim script for text alignment.
|
|
---
|
|
|
|
## Common usage
|
|
{: .-three-column}
|
|
|
|
### Tables
|
|
|
|
```
|
|
:Tab /|
|
|
```
|
|
{: .-setup}
|
|
|
|
```
|
|
| Fruit | Color |
|
|
| ----- | ----- |
|
|
| Apple | Red |
|
|
| Banana | Yellow |
|
|
| Kiwi | Green |
|
|
```
|
|
|
|
### Variables
|
|
|
|
```
|
|
:Tab /=
|
|
```
|
|
{: .-setup}
|
|
|
|
```
|
|
title = "Hello"
|
|
src = "image.jpg"
|
|
width = 640
|
|
```
|
|
|
|
### Colons
|
|
|
|
```
|
|
:Tab /:\zs/l0l1
|
|
```
|
|
{: .-setup}
|
|
|
|
```
|
|
title: "Hello world"
|
|
description: "This is a description"
|
|
src: "image.jpg"
|
|
height: 320
|
|
width: 640
|
|
```
|
|
|
|
## Tab command
|
|
{: .-three-column}
|
|
|
|
### Basic example
|
|
|
|
```
|
|
:Tab /:
|
|
```
|
|
{: .-setup}
|
|
|
|
```bash
|
|
title : My picture
|
|
src : img.jpg
|
|
```
|
|
|
|
### Right align
|
|
|
|
```
|
|
:Tab /:/r0
|
|
```
|
|
{: .-setup}
|
|
|
|
```bash
|
|
title:My picture
|
|
src: img.jpg
|
|
```
|
|
|
|
### The \zs atom
|
|
|
|
```
|
|
:Tab /:\zs
|
|
```
|
|
{: .-setup}
|
|
|
|
```
|
|
title: My picture
|
|
src: img.jpg
|
|
```
|
|
|
|
The `\zs` atom will exclude the `:` from the search match.
|
|
|
|
### Specifier
|
|
|
|
```
|
|
:Tab /:/r1c1l0
|
|
```
|
|
{: .-setup}
|
|
|
|
```bash
|
|
title : My picture
|
|
src : img.jpg
|
|
```
|
|
|
|
#### Explanation
|
|
|
|
- `r1` -- Right align with 1 space
|
|
- `c1` -- Center align the comma with 1 space
|
|
- `l0` -- Left align with 0 spaces
|
|
|
|
### Regexp
|
|
|
|
```
|
|
:Tab /^[^,]*\zs,/r0
|
|
```
|
|
{: .-setup}
|
|
|
|
```bash
|
|
abc,hello
|
|
c,hi there
|
|
a,yo
|
|
```
|
|
|
|
### Specifiers
|
|
|
|
| Specifier | Description |
|
|
| --- | --- |
|
|
| `r1c1l0` | multiple specifiers, one per column<br>(the separator counts as a column) |
|
|
| --- | --- |
|
|
| `lN` | Left-align (with N spaces padding) |
|
|
| `rN` | Right-align (with N spaces padding) |
|
|
| `cN` | Center-align (with N spaces padding) |
|
|
|
|
## Also see
|
|
|
|
- [godlygeek/tabular](https://github.com/godlygeek/tabular) _(github.com)_
|
|
- [Aligning text with Tabular.vim](http://vimcasts.org/episodes/aligning-text-with-tabular-vim/) _(vimcasts.org)_
|