summaryrefslogtreecommitdiffstats
path: root/indent/tex.vim
diff options
context:
space:
mode:
Diffstat (limited to 'indent/tex.vim')
-rw-r--r--indent/tex.vim31
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