table-mode : Table Mode for VIM for allowing blazing fast table creation on the fly.
| script karma
Downloaded by 524
Comments, bugs, improvements
script versions (upload new version)
|VIM Table Mode
An awesome automatic table creator & formatter allowing one to create neat tables as you type.
You can find the original repository at https://github.com/dhruvasagar/vim-table-mode
There are 2 ways to do this
I recommend installing pathogen.vim and then adding a git submodule for your plugin:
$ cd ~/.vim
$ git submodule add firstname.lastname@example.org:dhruvasagar/vim-table-mode.git bundle/table-mode
Copy autoload/todomode.vim, plugin/todo-mode.vim, doc/todo-mode.txt to respective ~/.vim/autoload/, ~/.vim/plugin and ~/.vim/doc under UNIX or vimfiles/autoload/, vimfiles/plugin/ and vimfiles/doc under WINDOWS and restart VIM
Depends on Tabular. Make sure Tabular is installed and loaded into your runtime to ensure this works.
On the fly table creation :
By default the table column separator is '|' (it can be changed). As soon as you type it on a new line (ignores indentation) the script gets to work on creating a table around it. As you type and define more columns, the table is completed, formatted and aligned automatically on the fly.
Since this could lead to unwanted behavior I have disabled table mode by default. You would have to use :TableModeToggle command or the table mode toggle mapping, which is <Leader>tm by default to toggle the table mode or you can directly use :TableModeEnable and :TableModeDisable to enable or disable the table mode. This is on a per buffer basis and so it does not cause any unusual behavior unless enabled explicitly. Please read :h table-mode for further information.
Format existing content into a table :
Table Mode wouldn't justify it's name if it didn't allow formatting existing content into a table. And it does as promised. Like table creation on the fly as you type, formatting existing content into a table is equally simple. You can visually select multiple lines and call :Tableize on it, or alternatively use the mapping <Leader>T (this is configurable). :Tableize accepts a range and so you can also call it by giving lines manually like :line1,line2Tableize, but this is not that intuitive. You can also use the mapping <Leader>T with a [count] to apply it to the next [count] lines in usual vim style.
Reporting an Issue :
Use Github Issue Tracker
Contributing to code :
Commit your changes and give your commit message some love.
Push to your fork on github.
Open a Pull Request.
I must thank Tim Pope for inspiration. The initial concept was created by him named cucumbertables.vim.
Also a shout out to godlygeek who developed the incredible Tabular plugin which does most of the grunt work behind the scenes.
Click on the package to download.
ip used for rating: 220.127.116.11