mirror of
https://github.com/dhruvasagar/vim-table-mode.git
synced 2025-11-08 11:03:47 -05:00
Releasing Table Mode v3.1
* Removed table border and related options. You can now optionally have a header instead, simply add a table header and add a border to it triggered by the vim iabbrev '+-' on the line immidiately after the header and it will expand to the correct border. It will auto update as the table realigns with changes. Similar approach as followed by tables in org-mode. * Fixed bug of incorrect indentation of a newly added formula line. * Fixed bug in ConvertDelimiterToSeparator causing incorrect tableization of commented blocks of delimited content.
This commit is contained in:
@@ -1,4 +1,11 @@
|
|||||||
# Change Log
|
# Change Log
|
||||||
|
## Version 3.1
|
||||||
|
* Removed borders. You can now optionally create a table header by simply
|
||||||
|
adding a header border immidiately after the header line by using the
|
||||||
|
iabbrev trigger '+-'. Just type that on the line immidiately after the
|
||||||
|
header and press space / \<CR\> to complete the header border.
|
||||||
|
* Some Bug Fixes
|
||||||
|
|
||||||
## Version 3.0
|
## Version 3.0
|
||||||
* Removed dependence on Tabular and added code borrowed from Tabular for
|
* Removed dependence on Tabular and added code borrowed from Tabular for
|
||||||
aligning the table rows.
|
aligning the table rows.
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
" ============================== Header ==================================={{{
|
" ============================== Header ======================================
|
||||||
" File: autoload/tablemode.vim
|
" File: autoload/tablemode.vim
|
||||||
" Description: Table mode for vim for creating neat tables.
|
" Description: Table mode for vim for creating neat tables.
|
||||||
" Author: Dhruva Sagar <http://dhruvasagar.com/>
|
" Author: Dhruva Sagar <http://dhruvasagar.com/>
|
||||||
" License: MIT (http://www.opensource.org/licenses/MIT)
|
" License: MIT (http://www.opensource.org/licenses/MIT)
|
||||||
" Website: http://github.com/dhruvasagar/vim-table-mode
|
" Website: http://github.com/dhruvasagar/vim-table-mode
|
||||||
" Version: 3.0
|
" Version: 3.1
|
||||||
" Note: This plugin was heavily inspired by the 'CucumberTables.vim'
|
" Note: This plugin was heavily inspired by the 'CucumberTables.vim'
|
||||||
" (https://gist.github.com/tpope/287147) plugin by Tim Pope and
|
" (https://gist.github.com/tpope/287147) plugin by Tim Pope and
|
||||||
" uses a small amount of code from it.
|
" uses a small amount of code from it.
|
||||||
@@ -113,6 +113,10 @@ function! s:StartExpr() "{{{2
|
|||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
function! s:HeaderBorderExpr() "{{{2
|
||||||
|
return '^\s*' . g:table_mode_corner . '[' . g:table_mode_fillchar . g:table_mode_corner . ']*' . g:table_mode_corner . '$'
|
||||||
|
endfunction
|
||||||
|
|
||||||
function! s:EndExpr() "{{{2
|
function! s:EndExpr() "{{{2
|
||||||
let cend = s:GetCommentEnd()
|
let cend = s:GetCommentEnd()
|
||||||
if s:Strlen(cend) > 0
|
if s:Strlen(cend) > 0
|
||||||
@@ -148,7 +152,8 @@ function! s:IsTableModeActive() "{{{2
|
|||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:RowGap() "{{{2
|
function! s:RowGap() "{{{2
|
||||||
return g:table_mode_border ? 2 : 1
|
" Getting rid of borders, so the row gap is now just 1
|
||||||
|
return 1
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:ToggleMapping() "{{{2
|
function! s:ToggleMapping() "{{{2
|
||||||
@@ -159,8 +164,13 @@ function! s:ToggleMapping() "{{{2
|
|||||||
|
|
||||||
execute "inoremap <silent> <buffer> " . b:table_mode_separator_map . ' ' .
|
execute "inoremap <silent> <buffer> " . b:table_mode_separator_map . ' ' .
|
||||||
\ b:table_mode_separator_map . "<Esc>:call tablemode#TableizeInsertMode()<CR>a"
|
\ b:table_mode_separator_map . "<Esc>:call tablemode#TableizeInsertMode()<CR>a"
|
||||||
|
|
||||||
|
execute "inoreabbrev <silent> <buffer> " . g:table_mode_corner .
|
||||||
|
\ g:table_mode_fillchar . "<Esc>:call tablemode#AddHeaderBorder('.')<CR>A"
|
||||||
else
|
else
|
||||||
execute "iunmap <silent> <buffer> " . b:table_mode_separator_map
|
execute "iunmap <silent> <buffer> " . b:table_mode_separator_map
|
||||||
|
|
||||||
|
execute "iunabbrev <silent> <buffer> " . g:table_mode_corner . g:table_mode_fillchar
|
||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
@@ -169,48 +179,24 @@ function! s:SetActive(bool) "{{{2
|
|||||||
call s:ToggleMapping()
|
call s:ToggleMapping()
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:GenerateBorder(line) "{{{2
|
function! s:GenerateHeaderBorder(line) "{{{2
|
||||||
let line_val = getline(a:line)
|
|
||||||
let border = substitute(line_val[stridx(line_val, g:table_mode_separator):strridx(line_val, g:table_mode_separator)], g:table_mode_separator, g:table_mode_corner, 'g')
|
|
||||||
let border = substitute(border, '[^' . g:table_mode_corner . ']', g:table_mode_fillchar, 'g')
|
|
||||||
|
|
||||||
let cstartexpr = s:StartCommentExpr()
|
|
||||||
if s:Strlen(cstartexpr) > 0 && getline(a:line) =~# cstartexpr
|
|
||||||
let sce = matchstr(line_val, s:StartCommentExpr())
|
|
||||||
let ece = matchstr(line_val, s:EndCommentExpr())
|
|
||||||
return sce . border . ece
|
|
||||||
elseif getline(a:line) =~# s:StartExpr()
|
|
||||||
let indent = matchstr(line_val, s:StartExpr())
|
|
||||||
return indent . border
|
|
||||||
else
|
|
||||||
return border
|
|
||||||
endif
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
function! s:UpdateLineBorder(line) "{{{2
|
|
||||||
let line = s:Line(a:line)
|
let line = s:Line(a:line)
|
||||||
|
if tablemode#IsATableRow(line - s:RowGap())
|
||||||
|
let line_val = getline(line - s:RowGap())
|
||||||
|
let border = substitute(line_val[stridx(line_val, g:table_mode_separator):strridx(line_val, g:table_mode_separator)], g:table_mode_separator, g:table_mode_corner, 'g')
|
||||||
|
let border = substitute(border, '[^' . g:table_mode_corner . ']', g:table_mode_fillchar, 'g')
|
||||||
|
|
||||||
let hf = s:StartExpr() . g:table_mode_corner . '[' . g:table_mode_corner .
|
let cstartexpr = s:StartCommentExpr()
|
||||||
\ g:table_mode_fillchar . ']*' . g:table_mode_corner . '\?' . s:EndExpr()
|
if s:Strlen(cstartexpr) > 0 && getline(line) =~# cstartexpr
|
||||||
|
let sce = matchstr(line_val, s:StartCommentExpr())
|
||||||
let rowgap = s:RowGap()
|
let ece = matchstr(line_val, s:EndCommentExpr())
|
||||||
let border = s:GenerateBorder(line)
|
return sce . border . ece
|
||||||
|
elseif getline(line) =~# s:StartExpr()
|
||||||
let [prev_line, next_line] = [getline(line-1), getline(line+1)]
|
let indent = matchstr(line_val, s:StartExpr())
|
||||||
if next_line =~# hf
|
return indent . border
|
||||||
if s:Strlen(border) > s:Strlen(s:GenerateBorder(line + rowgap)) || !tablemode#IsATableRow(line + rowgap)
|
else
|
||||||
call setline(line+1, border)
|
return border
|
||||||
endif
|
endif
|
||||||
else
|
|
||||||
call append(line, border)
|
|
||||||
endif
|
|
||||||
|
|
||||||
if prev_line =~# hf
|
|
||||||
if s:Strlen(border) > s:Strlen(s:GenerateBorder(line - rowgap)) || !tablemode#IsATableRow(line - rowgap)
|
|
||||||
call setline(line-1, border)
|
|
||||||
endif
|
|
||||||
else
|
|
||||||
call append(line-1, border)
|
|
||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
@@ -220,8 +206,16 @@ function! s:ConvertDelimiterToSeparator(line, ...) "{{{2
|
|||||||
if delim ==# ','
|
if delim ==# ','
|
||||||
silent! execute a:line . 's/' . "[\'\"][^\'\"]*\\zs,\\ze[^\'\"]*[\'\"]/__COMMA__/g"
|
silent! execute a:line . 's/' . "[\'\"][^\'\"]*\\zs,\\ze[^\'\"]*[\'\"]/__COMMA__/g"
|
||||||
endif
|
endif
|
||||||
silent! execute a:line . 's/' . s:StartExpr() . '\zs\ze.\|' . delim . '\|.\zs\ze' . s:EndExpr() . '/' .
|
|
||||||
|
let [cstart, cend] = [s:GetCommentStart(), s:GetCommentEnd()]
|
||||||
|
let [match_char_start, match_char_end] = ['.', '.']
|
||||||
|
if s:Strlen(cend) > 0 | let match_char_end = '[^' . cend . ']' | endif
|
||||||
|
if s:Strlen(cstart) > 0 | let match_char_start = '[^' . cstart . ']' | endif
|
||||||
|
|
||||||
|
silent! execute a:line . 's/' . s:StartExpr() . '\zs\ze' . match_char_start .
|
||||||
|
\ '\|' . delim . '\|' . match_char_end . '\zs\ze' . s:EndExpr() . '/' .
|
||||||
\ g:table_mode_separator . '/g'
|
\ g:table_mode_separator . '/g'
|
||||||
|
|
||||||
if delim ==# ','
|
if delim ==# ','
|
||||||
silent! execute a:line . 's/' . "[\'\"][^\'\"]*\\zs__COMMA__\\ze[^\'\"]*[\'\"]/,/g"
|
silent! execute a:line . 's/' . "[\'\"][^\'\"]*\\zs__COMMA__\\ze[^\'\"]*[\'\"]/,/g"
|
||||||
endif
|
endif
|
||||||
@@ -231,7 +225,6 @@ function! s:Tableizeline(line, ...) "{{{2
|
|||||||
let delim = g:table_mode_delimiter
|
let delim = g:table_mode_delimiter
|
||||||
if a:0 && type(a:1) == type('') && !empty(a:1) | let delim = a:1[1:-1] | endif
|
if a:0 && type(a:1) == type('') && !empty(a:1) | let delim = a:1[1:-1] | endif
|
||||||
call s:ConvertDelimiterToSeparator(a:line, delim)
|
call s:ConvertDelimiterToSeparator(a:line, delim)
|
||||||
if g:table_mode_border | call s:UpdateLineBorder(a:line) | endif
|
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:IsFirstCell() "{{{2
|
function! s:IsFirstCell() "{{{2
|
||||||
@@ -614,20 +607,14 @@ function! tablemode#TableModeToggle() "{{{2
|
|||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! tablemode#TableizeRange(...) range "{{{2
|
function! tablemode#TableizeRange(...) range "{{{2
|
||||||
let shift = 1
|
let lnum = a:firstline
|
||||||
if g:table_mode_border | let shift += 1 | endif
|
while lnum < (a:firstline + (a:lastline - a:firstline + 1)*s:RowGap())
|
||||||
call s:Tableizeline(a:firstline, a:1)
|
|
||||||
undojoin
|
|
||||||
" The first one causes 2 extra lines for top & bottom border while the
|
|
||||||
" following lines cause only 1 for the bottom border.
|
|
||||||
let lnum = a:firstline + shift + (g:table_mode_border > 0)
|
|
||||||
while lnum < (a:firstline + (a:lastline - a:firstline + 1)*shift)
|
|
||||||
call s:Tableizeline(lnum, a:1)
|
call s:Tableizeline(lnum, a:1)
|
||||||
undojoin
|
undojoin
|
||||||
let lnum = lnum + shift
|
let lnum = lnum + s:RowGap()
|
||||||
endwhile
|
endwhile
|
||||||
|
|
||||||
if g:table_mode_border | call tablemode#TableRealign(lnum - shift) | endif
|
call tablemode#TableRealign(lnum - s:RowGap())
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! tablemode#TableizeByDelimiter() "{{{2
|
function! tablemode#TableizeByDelimiter() "{{{2
|
||||||
@@ -639,18 +626,38 @@ function! tablemode#TableizeByDelimiter() "{{{2
|
|||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
function! tablemode#AddHeaderBorder(line) "{{{2
|
||||||
|
call setline(a:line, s:GenerateHeaderBorder(a:line))
|
||||||
|
endfunction
|
||||||
|
|
||||||
function! tablemode#TableRealign(line) "{{{2
|
function! tablemode#TableRealign(line) "{{{2
|
||||||
let line = s:Line(a:line)
|
let line = s:Line(a:line)
|
||||||
|
|
||||||
let [lnums, lines] = [[], []]
|
let [lnums, lines] = [[], []]
|
||||||
let tline = line
|
let [bline, tline] = [0, line]
|
||||||
while tablemode#IsATableRow(tline)
|
while tablemode#IsATableRow(tline)
|
||||||
call insert(lnums, tline)
|
call insert(lnums, tline)
|
||||||
call insert(lines, getline(tline))
|
call insert(lines, getline(tline))
|
||||||
let tline = tline - s:RowGap()
|
let tline = tline - s:RowGap()
|
||||||
endwhile
|
endwhile
|
||||||
|
|
||||||
|
" If we reached header walking upwards
|
||||||
|
if getline(tline) =~# s:HeaderBorderExpr() && tablemode#IsATableRow(tline - s:RowGap())
|
||||||
|
let bline = tline
|
||||||
|
let tline = tline - s:RowGap()
|
||||||
|
" Insert the header line
|
||||||
|
call insert(lnums, tline)
|
||||||
|
call insert(lines, getline(tline))
|
||||||
|
endif
|
||||||
|
|
||||||
let tline = line + s:RowGap()
|
let tline = line + s:RowGap()
|
||||||
|
|
||||||
|
" If we start at header
|
||||||
|
if !bline && getline(tline) =~# s:HeaderBorderExpr()
|
||||||
|
let bline = tline
|
||||||
|
let tline = tline + s:RowGap()
|
||||||
|
endif
|
||||||
|
|
||||||
while tablemode#IsATableRow(tline)
|
while tablemode#IsATableRow(tline)
|
||||||
call add(lnums, tline)
|
call add(lnums, tline)
|
||||||
call add(lines, getline(tline))
|
call add(lines, getline(tline))
|
||||||
@@ -662,9 +669,11 @@ function! tablemode#TableRealign(line) "{{{2
|
|||||||
for lnum in lnums
|
for lnum in lnums
|
||||||
let index = index(lnums, lnum)
|
let index = index(lnums, lnum)
|
||||||
call setline(lnum, lines[index])
|
call setline(lnum, lines[index])
|
||||||
undojoin
|
|
||||||
call s:UpdateLineBorder(lnum)
|
|
||||||
endfor
|
endfor
|
||||||
|
|
||||||
|
if bline
|
||||||
|
call tablemode#AddHeaderBorder(bline)
|
||||||
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! tablemode#IsATableRow(line) "{{{2
|
function! tablemode#IsATableRow(line) "{{{2
|
||||||
@@ -837,6 +846,8 @@ function! tablemode#AddFormula() "{{{2
|
|||||||
let fr = input('f=')
|
let fr = input('f=')
|
||||||
let row = tablemode#RowNr('.')
|
let row = tablemode#RowNr('.')
|
||||||
let colm = tablemode#ColumnNr('.')
|
let colm = tablemode#ColumnNr('.')
|
||||||
|
let indent = indent('.')
|
||||||
|
let indent_str = repeat(' ', indent)
|
||||||
|
|
||||||
if fr !=# ''
|
if fr !=# ''
|
||||||
let fr = '$' . row . ',' . colm . '=' . fr
|
let fr = '$' . row . ',' . colm . '=' . fr
|
||||||
@@ -860,7 +871,7 @@ function! tablemode#AddFormula() "{{{2
|
|||||||
let [cmss, cmse] = [cms[0], '']
|
let [cmss, cmse] = [cms[0], '']
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
let fr = cmss . ' tmf: ' . fr . ' ' . cmse
|
let fr = indent_str . cmss . ' tmf: ' . fr . ' ' . cmse
|
||||||
call append(fline-1, fr)
|
call append(fline-1, fr)
|
||||||
call cursor(cursor_pos)
|
call cursor(cursor_pos)
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
*table-mode.txt* Table Mode for easy table formatting. v3.0
|
*table-mode.txt* Table Mode for easy table formatting. v3.1
|
||||||
===============================================================================
|
===============================================================================
|
||||||
Table Mode, THE AWESOME AUTOMATIC TABLE CREATOR & FORMATTER
|
Table Mode, THE AWESOME AUTOMATIC TABLE CREATOR & FORMATTER
|
||||||
VERSION 3.0
|
VERSION 3.1
|
||||||
|
|
||||||
Author: Dhruva Sagar <http://dhruvasagar.com/>
|
Author: Dhruva Sagar <http://dhruvasagar.com/>
|
||||||
License: MIT <http://opensource.org/licenses/MIT/>
|
License: MIT <http://opensource.org/licenses/MIT/>
|
||||||
@@ -36,7 +36,7 @@ Create Table on the fly:
|
|||||||
|
|
||||||
The table mode is disabled by default and you can enter table mode
|
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 |table-mode-toggle-map| or you can also enable it permanently
|
||||||
using |table-mode-always-active| if you wish.
|
using |table-mode-always-active| if you wish though not recommended.
|
||||||
|
|
||||||
Table Mode allows for creation of tables within comments, it looks at
|
Table Mode allows for creation of tables within comments, it looks at
|
||||||
the 'commentstring' setting to identify whether the current line is
|
the 'commentstring' setting to identify whether the current line is
|
||||||
@@ -130,7 +130,6 @@ OPTIONS *table-mode-options*
|
|||||||
|
|
||||||
Overview:
|
Overview:
|
||||||
|table-mode-loaded| ............. Disable the plugin.
|
|table-mode-loaded| ............. Disable the plugin.
|
||||||
|table-mode-border| ............. Enable border.
|
|
||||||
|table-mode-corner| ............. Set corner character.
|
|table-mode-corner| ............. Set corner character.
|
||||||
|table-mode-separator| .......... Set separator character.
|
|table-mode-separator| .......... Set separator character.
|
||||||
|table-mode-fillchar| ........... Set table fillchar character.
|
|table-mode-fillchar| ........... Set table fillchar character.
|
||||||
@@ -154,12 +153,6 @@ g:loaded_table_mode *table-mode-loaded*
|
|||||||
Use this option to disable the plugin: >
|
Use this option to disable the plugin: >
|
||||||
let g:loaded_table_mode = 1
|
let g:loaded_table_mode = 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*
|
g:table_mode_corner *table-mode-corner*
|
||||||
Use this option to define the table corner character: >
|
Use this option to define the table corner character: >
|
||||||
let g:table_mode_corner = '+'
|
let g:table_mode_corner = '+'
|
||||||
@@ -172,7 +165,7 @@ g:table_mode_separator *table-mode-separator*
|
|||||||
table row in insert mode.
|
table row in insert mode.
|
||||||
|
|
||||||
g:table_mode_fillchar *table-mode-fillchar*
|
g:table_mode_fillchar *table-mode-fillchar*
|
||||||
Use this option to define the table border fill character: >
|
Use this option to define the table header border fill character: >
|
||||||
let g:table_mode_fillchar = '-'
|
let g:table_mode_fillchar = '-'
|
||||||
<
|
<
|
||||||
|
|
||||||
@@ -330,6 +323,12 @@ MAPPINGS *table-mode-mappings*
|
|||||||
would evaluate the formula line and update the table
|
would evaluate the formula line and update the table
|
||||||
accordingly. This invokes the |TableEvalFormulaLine| command.
|
accordingly. This invokes the |TableEvalFormulaLine| command.
|
||||||
|
|
||||||
|
+- Expands to a header border, the line immidiately above this
|
||||||
|
will be considered as the table header. You can change this by
|
||||||
|
changing |table-mode-corner| and |table-mode-fillchar|
|
||||||
|
options. This is an iabbrev so is triggered when you press
|
||||||
|
space or <CR> after typing the mapping.
|
||||||
|
|
||||||
===============================================================================
|
===============================================================================
|
||||||
COMMANDS *table-mode-commands*
|
COMMANDS *table-mode-commands*
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
" Author: Dhruva Sagar <http://dhruvasagar.com/>
|
" Author: Dhruva Sagar <http://dhruvasagar.com/>
|
||||||
" License: MIT (http://www.opensource.org/licenses/MIT)
|
" License: MIT (http://www.opensource.org/licenses/MIT)
|
||||||
" Website: http://github.com/dhruvasagar/vim-table-mode
|
" Website: http://github.com/dhruvasagar/vim-table-mode
|
||||||
" Version: 2.4.0
|
" Version: 3.1
|
||||||
" Note: This plugin was heavily inspired by the 'CucumberTables.vim'
|
" Note: This plugin was heavily inspired by the 'CucumberTables.vim'
|
||||||
" (https://gist.github.com/tpope/287147) plugin by Tim Pope and
|
" (https://gist.github.com/tpope/287147) plugin by Tim Pope and
|
||||||
" uses a small amount of code from it.
|
" uses a small amount of code from it.
|
||||||
@@ -24,22 +24,18 @@ if exists('g:loaded_table_mode')
|
|||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
let g:loaded_table_mode = 1
|
let g:loaded_table_mode = 1
|
||||||
"}}}1
|
|
||||||
|
|
||||||
" Avoiding side effects {{{1
|
" Avoiding side effects {{{1
|
||||||
let s:save_cpo = &cpo
|
let s:save_cpo = &cpo
|
||||||
set cpo&vim
|
set cpo&vim
|
||||||
" }}}1
|
|
||||||
|
|
||||||
function! s:SetGlobalOptDefault(opt, val) "{{{1
|
function! s:SetGlobalOptDefault(opt, val) "{{{1
|
||||||
if !exists('g:' . a:opt)
|
if !exists('g:' . a:opt)
|
||||||
let g:{a:opt} = a:val
|
let g:{a:opt} = a:val
|
||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
" }}}1
|
|
||||||
|
|
||||||
" Set Global Defaults {{{1
|
" Set Global Defaults {{{1
|
||||||
call s:SetGlobalOptDefault('table_mode_border', 1)
|
|
||||||
call s:SetGlobalOptDefault('table_mode_corner', '+')
|
call s:SetGlobalOptDefault('table_mode_corner', '+')
|
||||||
call s:SetGlobalOptDefault('table_mode_separator', '|')
|
call s:SetGlobalOptDefault('table_mode_separator', '|')
|
||||||
call s:SetGlobalOptDefault('table_mode_fillchar', '-')
|
call s:SetGlobalOptDefault('table_mode_fillchar', '-')
|
||||||
@@ -55,7 +51,6 @@ call s:SetGlobalOptDefault('table_mode_delete_row_map', 'dd')
|
|||||||
call s:SetGlobalOptDefault('table_mode_delete_column_map', 'dc')
|
call s:SetGlobalOptDefault('table_mode_delete_column_map', 'dc')
|
||||||
call s:SetGlobalOptDefault('table_mode_add_formula_map', 'fa')
|
call s:SetGlobalOptDefault('table_mode_add_formula_map', 'fa')
|
||||||
call s:SetGlobalOptDefault('table_mode_eval_expr_map', 'fe')
|
call s:SetGlobalOptDefault('table_mode_eval_expr_map', 'fe')
|
||||||
"}}}1
|
|
||||||
|
|
||||||
function! s:TableMotion() "{{{1
|
function! s:TableMotion() "{{{1
|
||||||
let direction = nr2char(getchar())
|
let direction = nr2char(getchar())
|
||||||
@@ -63,7 +58,6 @@ function! s:TableMotion() "{{{1
|
|||||||
call tablemode#TableMotion(direction)
|
call tablemode#TableMotion(direction)
|
||||||
endfor
|
endfor
|
||||||
endfunction
|
endfunction
|
||||||
" }}}1
|
|
||||||
|
|
||||||
" Define Commands & Mappings {{{1
|
" Define Commands & Mappings {{{1
|
||||||
if !g:table_mode_always_active "{{{2
|
if !g:table_mode_always_active "{{{2
|
||||||
@@ -108,11 +102,9 @@ execute "nnoremap <silent> " . g:table_mode_map_prefix . g:table_mode_add_formul
|
|||||||
\ " :TableAddFormula<CR>"
|
\ " :TableAddFormula<CR>"
|
||||||
execute "nnoremap <silent> " . g:table_mode_map_prefix . g:table_mode_eval_expr_map .
|
execute "nnoremap <silent> " . g:table_mode_map_prefix . g:table_mode_eval_expr_map .
|
||||||
\ " :TableEvalFormulaLine<CR>"
|
\ " :TableEvalFormulaLine<CR>"
|
||||||
"}}}1
|
|
||||||
|
|
||||||
" Avoiding side effects {{{1
|
" Avoiding side effects {{{1
|
||||||
let &cpo = s:save_cpo
|
let &cpo = s:save_cpo
|
||||||
" }}}1
|
|
||||||
|
|
||||||
" ModeLine {{{
|
" ModeLine {{{
|
||||||
" vim: sw=2 sts=2 fdl=0 fdm=marker
|
" vim: sw=2 sts=2 fdl=0 fdm=marker
|
||||||
|
|||||||
Reference in New Issue
Block a user