diff options
Diffstat (limited to '.vim/ftplugin/latex-suite/smartspace.vim')
-rw-r--r-- | .vim/ftplugin/latex-suite/smartspace.vim | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/.vim/ftplugin/latex-suite/smartspace.vim b/.vim/ftplugin/latex-suite/smartspace.vim deleted file mode 100644 index 07526d8..0000000 --- a/.vim/ftplugin/latex-suite/smartspace.vim +++ /dev/null @@ -1,102 +0,0 @@ -"============================================================================= -" File: smartspace.vim -" Author: Carl Muller -" Created: Fri Dec 06 12:00 AM 2002 PST -" -" Description: -" Maps the <space> key in insert mode so that mathematical formulaes are -" always kept on the same line. i.e, $$'s dont get broken across multiple -" lines. -"============================================================================= - -" Avoid reinclusion or if the user doesn't want us. -if exists('b:done_smartspace') - \ || (exists('g:Tex_SmartKeySpace') && !g:Tex_SmartKeySpace) - finish -endif -let b:done_smartspace = 1 - -" Smart space relies on taking over vim's insertion of carriage returns in -" order to keep $$'s on the same line. The only way to get vim not to break -" lines is to set tw=0. -" -" NOTE: setting tw != 0 will break smartspace -" the user's 'tw' setting is still respected in the insert mode. -" However, normal mode actions which rely on 'tw' such as gqap will be -" broken because of the faulty 'tw' setting. -let b:tw = &l:tw -setlocal tw=0 - -inoremap <buffer> <silent> <Space> <Space><Esc>:call <SID>TexFill(b:tw)<CR>a - -" Do not redefine the function. -if exists('*s:TexFill') - finish -endif - -" TexFormatLine: format line retaining $$'s on the same line. {{{ -function! s:TexFill(width) - if a:width != 0 && col(".") > a:width - " For future use, record the current line and the number of the current column - let current_line = getline(".") - let current_column = col(".") - exe "normal! a##\<Esc>" - call <SID>TexFormatLine(a:width,current_line,current_column) - exe "normal! ?##\<CR>2s\<Esc>" - " Remove ## from the search history. - call histdel("/", -1)|let @/=histget("/", -1) - endif -endfunction - -" }}} -function! s:TexFormatLine(width, current_line, current_column) " {{{ - " get the first non-blank character. - let first = matchstr(getline('.'), '\S') - normal! $ - let length = col('.') - let go = 1 - while length > a:width+2 && go - let between = 0 - let string = strpart(getline('.'), 0, a:width) - " Count the dollar signs - let number_of_dollars = 0 - let evendollars = 1 - let counter = 0 - while counter <= a:width-1 - " Pay attention to '$$'. - if string[counter] == '$' && string[counter-1] != '$' - let evendollars = 1 - evendollars - let number_of_dollars = number_of_dollars + 1 - endif - let counter = counter + 1 - endwhile - " Get ready to split the line. - exe 'normal! ' . (a:width + 1) . '|' - if evendollars - " Then you are not between dollars. - exe "normal! ?\\$\\+\\| \<CR>W" - else - " Then you are between dollars. - normal! F$ - if col(".") == 1 || getline('.')[col(".")-1] != "$" - let go = 0 - endif - endif - if first == '$' && number_of_dollars == 1 - let go = 0 - else - exe "normal! i\<CR>\<Esc>$" - " get the first non-blank character. - let first = matchstr(getline('.'), '\S') - endif - let length = col(".") - endwhile - if go == 0 && strpart(a:current_line, 0, a:current_column) =~ '.*\$.*\$.*' - exe "normal! ^f$a\<CR>\<Esc>" - call <SID>TexFormatLine(a:width, a:current_line, a:current_column) - endif -endfunction - -" }}} - -" vim:fdm=marker:ts=4:sw=4:noet |