Hello, First time poster here, but long time vim user. Can someone help me with the formatprg variable?
I set the variable to some external program, like: formatprg=par There are three problems I'd like help or advice on resolving: 1. gq} leaves the cursor on the last formatted line. This is sort of documented in the help, but it is also silly, and inconsistent with the behavior of gq} using the internal formatter. It seems that putting the cursor where the motion would have put it is much more reasonable, and this is what the happens with formatprg unset. It also allow "." to repeat the command for the next paragraph. Putting it on the last line of the paragraph seems pointless. Is there any way to work around this, so that the cursor is placed reasonably after invoking the external command? 2. Is there any way to send the external command the vim textwidth variable? I know I can do "formatprg=par\ -w80" or something, but I have different files with different textwidths. I was hoping for something like "formatprg=par\ -w$textwidth". Without this ability, the external formatprg is much less useful: it is both more powerful than the internal formatter, because it can invoke a program written in C or python or whatever, but also less powerful in that it can't even implement an equivalent to the standard internal formatter. 3. gq uses formatprg, but gw ignores it. This is documented. But is there some reason why this is so? It doesn't make any sense from the user perspective. Is a feature or just a documented bug? Maybe formatexpr can help? Can I use formatexpr to invoke an external program but without the issues in 1 and 2? And from reports on the web, it seems that gw might even use formatexpr, though the docs say otherwise. Does anyone have a simple example of a formatexpr I could modify for this purpose? Thanks, Kevin Walsh -- 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
