diff options
Diffstat (limited to 'indent/tex.vim')
-rw-r--r-- | indent/tex.vim | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/indent/tex.vim b/indent/tex.vim index 92866d5b..93f70ece 100644 --- a/indent/tex.vim +++ b/indent/tex.vim @@ -90,4 +90,35 @@ function! LatexBox_TexIndent() endfunction " }}} +" Restore cursor position, window position, and last search after running a +" command. +function! Latexbox_CallIndent() + " Save the current cursor position. + let cursor = getpos('.') + + " Save the current window position. + normal! H + let window = getpos('.') + call setpos('.', cursor) + + " Execute the command. + execute 'normal! ==' + + " Restore the previous window position. + call setpos('.', window) + normal! zt + + " Restore the previous cursor position. + call setpos('.', cursor) +endfunction + +" autocmd to call indent after completion +" 7.3.598 +if v:version > 703 || (v:version == 703 && has('patch598')) + augroup LatexBox_Completion + autocmd! + autocmd CompleteDone <buffer> call Latexbox_CallIndent() + augroup END +endif + " vim:fdm=marker:ff=unix:noet:ts=4:sw=4 |