summaryrefslogtreecommitdiffstats
path: root/vimrc
diff options
context:
space:
mode:
Diffstat (limited to 'vimrc')
-rw-r--r--vimrc15
1 files changed, 15 insertions, 0 deletions
diff --git a/vimrc b/vimrc
index 3dab4fb..1d40d5e 100644
--- a/vimrc
+++ b/vimrc
@@ -152,3 +152,18 @@ autocmd FileType debcontrol set expandtab
autocmd BufNewFile,BufRead /home/sre/src/linux/* set tabstop=8 shiftwidth=8 softtabstop=8
autocmd BufNewFile,BufRead /home/sre/src/linux-*/* set tabstop=8 shiftwidth=8 softtabstop=8
+
+execute pathogen#infect()
+
+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