mirror of
https://github.com/dhruvasagar/vim-table-mode.git
synced 2025-11-08 11:03:47 -05:00
239 lines
9.2 KiB
Plaintext
239 lines
9.2 KiB
Plaintext
*table-mode.txt* Table Mode for easy table formatting. v2.2.2
|
|
===============================================================================
|
|
Table Mode, THE AWESOME AUTOMATIC TABLE CREATOR & FORMATTER
|
|
VERSION 2.2.2
|
|
|
|
Author: Dhruva Sagar <http://dhruvasagar.com/>
|
|
License: MIT <http://opensource.org/licenses/MIT/>
|
|
===============================================================================
|
|
CONTENTS *table-mode-contents*
|
|
|
|
1. Introduction .................... |table-mode-introduction|
|
|
2. Requirements .................... |table-mode-requirements|
|
|
3. Getting Started ................. |table-mode-getting-started|
|
|
4. Options ......................... |table-mode-options|
|
|
5. Mappings ........................ |table-mode-mappings|
|
|
6. Commands ........................ |table-mode-commands|
|
|
7. Contributing .................... |table-mode-contributing|
|
|
8. Report Issues ................... |table-mode-report-issues|
|
|
|
|
===============================================================================
|
|
INTRODUCTION *table-mode-introduction*
|
|
|
|
Table Mode is simple plugin that makes building tables in vim a breeze. It is
|
|
inspired from tpope's auto aligning script for creating tables in vim -
|
|
https://gist.github.com/tpope/287147, which in turn utilizes the Tabular
|
|
Plugin.
|
|
|
|
===============================================================================
|
|
REQUIREMENTS *table-mode-requirements*
|
|
|
|
This depends on the Tabular plugin - https://github.com/godlygeek/tabular,
|
|
make sure it is installed and loaded.
|
|
|
|
===============================================================================
|
|
GETTING STARTED *table-mode-getting-started*
|
|
|
|
Using Table Mode is dead simple. You simply start typing on a new line with
|
|
the table separator - |g:table-mode-separator|, and you just type away! The
|
|
plugin does the rest automatically for you as you type. With each additional
|
|
separator you add, it aligns the table properly, without having to do
|
|
anything else.
|
|
|
|
The table mode is disabled by default and you can enter table mode using
|
|
|table-mode-toggle-map| or you can also enable it permanently using
|
|
|g:table-mode-always-active| if you wish.
|
|
|
|
===============================================================================
|
|
OPTIONS *table-mode-options*
|
|
|
|
Overview:
|
|
|table-mode-loaded| ............. Disable the plugin.
|
|
|table-mode-border| ............. Enable border.
|
|
|table-mode-corner| ............. Set corner character.
|
|
|table-mode-separator| .......... Set separator character.
|
|
|table-mode-fillchar| ........... Set table fillchar character.
|
|
|table-mode-toggle-map| ......... Set table mode toggle mapping.
|
|
|table-mode-always-active| ...... Set table mode to always enabled.
|
|
|table-mode-delimiter| .......... Set the delimiter for Tableize.
|
|
|table-mode-tableize-map| ....... Set mapping for Tableize.
|
|
|table-mode-tableize-op-map| .... Set mapping for Tableize with input.
|
|
|table-mode-align| .............. Set the text alignment for
|
|
Tableize.
|
|
|table-mode-no-border-padding| .. Set for no border padding.
|
|
|table-mode-realign-map| ........ Set mapping for table realigning.
|
|
|table-mode-motion-prefix| ...... Set prefix for table mode motions.
|
|
|
|
g:table_mode_loaded *table-mode-loaded*
|
|
Use this option to disable the plugin: >
|
|
let g:table_mode_loaded = 1
|
|
<
|
|
|
|
g:table_mode_border *table-mode-border*
|
|
Use this option to enable / disable table border: >
|
|
let g:table_mode_border = 1
|
|
<
|
|
|
|
g:table_mode_corner *table-mode-corner*
|
|
Use this option to define the table corner character: >
|
|
let g:table_mode_corner = '+'
|
|
<
|
|
g:table_mode_separator *table-mode-separator*
|
|
Use this option to define the table column separator character: >
|
|
let g:table_mode_separator = '|'
|
|
<
|
|
This option also defines the trigger to be used to start creating a
|
|
table row in insert mode.
|
|
|
|
g:table_mode_fillchar *table-mode-fillchar*
|
|
Use this option to define the table border fill character: >
|
|
let g:table_mode_fillchar = '-'
|
|
<
|
|
|
|
g:table_mode_toggle_map *table-mode-toggle-map*
|
|
Use this option to define the mapping for toggling the table mode: >
|
|
let g:table_mode_toggle_map = '<Leader>tm'
|
|
<
|
|
Read |table-mode-mappings-toggle| for more info.
|
|
|
|
g:table_mode_always_active *table-mode-always-active*
|
|
Use this option to permanently enable the table mode: >
|
|
let g:table_mode_always_active = 0
|
|
<
|
|
This will trigger table creation once you type the
|
|
|table-mode-separator| as long as it's the first character on
|
|
the line, which can be annoying. I recommend you to instead use the
|
|
|table-mode-mappings-toggle| or |table-mode-commands-toggle| to toggle
|
|
the table mode or |table-mode-commands-enable| to enable and
|
|
|table-mode-commands-disable| to disable mode when needed.
|
|
|
|
g:table_mode_delimiter *table-mode-delimiter*
|
|
Use this option to define the delimiter which used by
|
|
|table-mode-commands-tableize| >
|
|
let g:table_mode_delimiter = ','
|
|
<
|
|
|
|
g:table_mode_tableize_map *table-mode-tableize-map*
|
|
Use this option to define the mapping to invoke |:Tableize| with
|
|
default delimiter, i.e. |:Tableize| without input. >
|
|
let g:table_mode_tableize_map = '<Leader>tt'
|
|
<
|
|
|
|
g:table_mode_tableize_op_map *table-mode-tableize-op-map*
|
|
Use this option to define the mapping to invoke |:Tableize| with input
|
|
parameter. This option will ask for command-line input {pattern} that
|
|
defines the delimiter. >
|
|
let g:table_mode_tableize_op_map = '<Leader>T'
|
|
<
|
|
|
|
g:table_mode_align *table-mode-align*
|
|
Use this option to define the format for text alignment to be used for
|
|
the tables. Go through |tabular-walkthrough| for details on how to set
|
|
the format options for alignment. >
|
|
let g:table_mode_align = 'l1'
|
|
<
|
|
|
|
g:table_mode_no_border_padding *table-mode-no-border-padding*
|
|
Use this option to remove the border padding (extra spaces around the
|
|
|table-mode-fillchar|). >
|
|
let g:table_mode_no_border_padding = 0
|
|
<
|
|
NOTE this option changes |table-mode-align| to 'c0', so that
|
|
there is no extra padding around the contents.
|
|
|
|
g:table_mode_realign_map *table-mode-realign-map*
|
|
Use this option to define the mapping for realigning table columns.
|
|
This is useful in case you make edits to an existing table. >
|
|
let g:table_mode_realign_map = '<Leader>tr'
|
|
<
|
|
|
|
g:table_mode_motion_prefix *table-mode-motion-prefix*
|
|
Use this option to define the prefix for table mode motion commands. >
|
|
let g:table_mode_motion_prefix = '<Leader>t'
|
|
<
|
|
You can move to the next / previous row / column using the motion
|
|
commands. The motions 'hjkl' follow the prefix are in accordance to
|
|
standard vim character motions to make them easier to remember. They
|
|
may also be preceeded with a [count]. The 'h', 'l' (left and right
|
|
motions) wrap around the table row and move to the previous rows last
|
|
column, next rows first column respectively if one exists.
|
|
===============================================================================
|
|
MAPPINGS *table-mode-mappings*
|
|
|
|
*table-mode-mappings-toggle*
|
|
<Leader>tm Toggle table mode for the current buffer. You can change this
|
|
using the |toggle-mode-options-toggle-map| option.
|
|
|
|
NOTE This is applicable only if
|
|
|table-mode-always-active| is not set.
|
|
|
|
*table-mode-mappings-trigger*
|
|
| Trigger table creation in table mode. You can change this
|
|
using the |toggle-mode-options-separator| option.
|
|
|
|
<Leader>tt Triggers |table-mode-commands-tableize| on the visually
|
|
selected content.
|
|
|
|
*table-mode-mappings-op-trigger*
|
|
<Leader>T Triggers |table-mode-commands-tableize| on the visually
|
|
selected asking for user to input the delimiter.
|
|
|
|
*table-mode-mappings-realign*
|
|
<Leader>tr Realigns table columns
|
|
===============================================================================
|
|
COMMANDS *table-mode-commands*
|
|
|
|
*:TableModeToggle*
|
|
*table-mode-:TableModeToggle*
|
|
:TableModeToggle
|
|
Toggles the table mode. Same effect as |toggle-mode-mappings-toggle|.
|
|
|
|
NOTE this is applicable only if |table-mode-always-active| is
|
|
not set.
|
|
|
|
*:TableModeEnable*
|
|
*table-mode-:TableModeEnable*
|
|
:TableModeEnable
|
|
Enables Table Mode.
|
|
|
|
NOTE this is applicable only if |table-mode-always-active| is
|
|
not set.
|
|
|
|
*:TableModeDisable*
|
|
*table-mode-:TableModeDisable*
|
|
:TableModeDisable
|
|
Disables Table Mode.
|
|
|
|
NOTE this is applicable only if |table-mode-always-active| is
|
|
not set.
|
|
|
|
*:Tableize*
|
|
*table-mode-:Tableize*
|
|
:Tableize
|
|
This converts the current line into a table if it consists of
|
|
|table-mode-delimiter|. This accepts a range, without which it
|
|
applies on the current line.
|
|
|
|
This accepts a {pattern} similar to Tabular which defines the
|
|
delimiter. eg.) >
|
|
:Tableize/;
|
|
<
|
|
The above command will Tableize using ';' as the delimiter.
|
|
|
|
NOTE this is optional, by default without the expression it will
|
|
tableize the content using |g:table-mode-delimiter| as the delimiter.
|
|
===============================================================================
|
|
CONTRIBUTING *table-mode-contributing*
|
|
|
|
If you want to take a stab at it, by all means, send me a pull request on
|
|
Github (http://github.com/dhruvasagar/table-mode) or get in touch with me
|
|
directly via e-mail at dhruva 'dot' sagar 'at' gmail.com.
|
|
|
|
===============================================================================
|
|
REPORT ISSUES *table-mode-report-issues*
|
|
|
|
If you discover any issues, please report them at
|
|
http://github.com/dhruvasagar/table-mode/issues.
|
|
|
|
vim:tw=78:ts=8:ft=help:norl:
|