2015-03-03 17:17 GMT+03:00 at <[email protected]>:
> I found the following code on a stackexchange post:
> http://tex.stackexchange.com/questions/1548/intelligent-paragraph-reflowing-in-vim
>
> The code is for environment-aware formatting in LaTeX.
>
> It's not longer working quite the way I want it---I think it is
> interacting with one of my other plugins that has been updated---so I'd
> like to try to modify it. However I don't have a great knowledge of the Vim
> scripting language, so I don't really understand what's going on in the
> code. Could someone explain it to me?
>
You better explain how it is interacting. Based on the kind of interaction
it may appear that you need to know only a few lines. The code below simply
selects lines between some lines like `\start`…` \start` and tells Vim
to reformat them.
Basically you need to know `:h range`, `:h gq` and, if you still don’t
understand other code, `:h :{command}` where `:{command}` is a lowercase
letter sequence at the start of the line with colon prepended.
>
> Alternatively/additionally, if you have a good solution for formatting in
> LaTeX, please share!
>
> Here's the code. It's also on the Stackexchange post in case the
> formatting gets messed up:
>
> " Reformat lines (getting the spacing correct) {{{
> fun! TeX_fmt()
> if (getline(".") != "")
> let save_cursor = getpos(".")
> let op_wrapscan = &wrapscan
> set nowrapscan
> let par_begin =
> '^\(%D\)\=\s*\($\|\\start\|\\stop\|\\Start\|\\Stop\|\\\(sub\)*section\>\|\\item\>\|\\NC\>\|\\blank\>\|\\noindent\>\)'
> let par_end =
> '^\(%D\)\=\s*\($\|\\start\|\\stop\|\\Start\|\\Stop\|\\place\|\\\(sub\)*section\>\|\\item\>\|\\NC\>\|\\blank\>\)'
> try
> exe '?'.par_begin.'?+'
> catch /E384/
> 1
> endtry
> norm V
> try
> exe '/'.par_end.'/-'
> catch /E385/
> $
> endtry
> norm gq
> let &wrapscan = op_wrapscan
> call setpos('.', save_cursor)
> endif
> endfun
>
> nmap Q :call TeX_fmt()<CR>
>
> --
> --
> You received this message from the "vim_use" maillist.
> Do not top-post! Type your reply below the text you are replying to.
> For more information, visit http://www.vim.org/maillist.php
>
> ---
> You received this message because you are subscribed to the Google Groups
> "vim_use" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>
--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.