2

When I have heredoc and I format it with gq I want it to be aligned in a way so each line starts at the same column like this:

    Long text goes here ...                    80 chars |
    <- whitespace preserved ...                80 chars |
    <- still whitespace ...                    80 chars |

Here is what I get instead:

    Long text goes here ...                    80 chars |
<- whitespace preserved ...                    80 chars |
<- still whitespace ...                        80 chars |

Is there a way to reflow the text while preserving the left whitespace?

  • Not directly an answer to your question, but you might still want to look at par. Absolutely outstanding in my experience, provided that you take your time to digest the manual. – lcd047 Apr 20 '15 at 18:39
3

:set autoindent will ensure that new lines have the same indentation as the previous line. This will also happen when you hit enter in insert mode (or any other time you add a new line, like o/O).

Note that this is a local setting, so it would have to be set in each buffer you want this to happen in. To get around this, you can use autocmds or filetype files so that the setting is applied whenever you open a new buffer with a certain filetype.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.