- git clone https://github.com/godlygeek/tabular.git
- cd tabular/
- mv after autoload doc plugin ~/.vim/
- vim ~/.vimrc # 於此檔案最末端加入下述
-
let mapleader=','
-
if exists(":Tabularize")
-
nmap <Leader>a= :Tabularize /=<CR>
-
vmap <Leader>a= :Tabularize /=<CR>
-
nmap <Leader>a: :Tabularize /:\zs<CR>
-
vmap <Leader>a: :Tabularize /:\zs<CR>
-
endif
-
-
inoremap <silent> <Bar> <Bar><Esc>:call <SID>align()<CR>a
-
-
function! s:align()
-
let p = '^\s*|\s.*\s|\s*$'
-
if exists(':Tabularize') && getline('.') =~# '^\s*|' && (getline(line('.')-1) =~# p || getline(line('.')+1) =~# p)
-
let column = strlen(substitute(getline('.')[0:col('.')],'[^|]','','g'))
-
let position = strlen(matchstr(getline('.')[0:col('.')],'.*|\s*\zs.*'))
-
Tabularize/|/l1
-
normal! 0
-
call search(repeat('[^|]*|',column).'\s\{-\}'.repeat('.',position),'ce',line('.'))
-
endif
-
endfunction
-
Tabular Plugin 測試
輸入下述內容:
|start|eat|left|
|12|5|7|
|20|5|15|
V 選取後, , 之後在下面繼續打, 都會自動排序. (若文字過長, 上面都會自動對齊)
:Tab/ 後面接要分隔的符號, ex: 上述是用 "|" 分隔, 所以輸入 :Tab/|, 程式若要排 "=", 則輸入 :Tab/=, 更多範例可見下述:
- :Tab/:
- :Tab/=
- :Tab/:\zs # 只有排序 ":" 後面的文字