Yakov Lerner wrote:
On 5/14/07, Václav Šmilauer <[EMAIL PROTECTED]> wrote:
I submit patch that implements the 'breakindent' feature. It is on vim
list, since the moment I tried a few years ago (see e.g.
http://marc.info/?l=vim-dev&m=109921292009721&w=1). Picture says what
about (showbreak is aligned with first non-whitespace):
I tried to address all Bram's comments he had to the original patch, like
coding style, functionality in diff mode, selections etc. I had to
few prototypes to pass line number.
There is one bug and some (easily fixable) limitations:
* BUG: there is some weird interaction with quickfix window, where very
rarely there is the "ml_get(): invalid line number" error. I think it is
caused by passing wrong line number thgouth the *chartabsize* & family
routines (line in the main buffer interpreted as line in the quickfix
or something like that), but I am not sure.
* No test case. This will be added once there is enough interest from
developers (there _is_ documentation).
* The bri_min variable is not exposed to userspace yet, is set to 20
code. If the rest is considered ready for inclusion, I will add a
user-serrable variable for that.
The patch is against current svn (vim7, rev. 288). Any comments are
I played with the patch. Works smoothly, I did not find any deficiencies.
I have one wish though.
It would be nice if I could specificy additional indent for continuation
You make indent for continuation line *EQUAL* to indent of the 1st
Let's say you have 3 consequitive long lines with same indent, and
each lines wrapped into 4 screen lines. With current 'breakindent'
patch, you see 8 lines
with *same* indent. It's not that easy to see beginning of each long lines.
If breakindent would be numeric value N which meant assign indent K+N
to continuation indent, where K is indent of the line itself. Current
breakindent corresponds to N==0. But I'd probably prefer N=1 or N==2.
Just my 2 cents
With this change plus 'linebreak' on, it could be made to simulate "French"
paragrah style for text, where the first line of a paragraph starts maybe 1em
or so right of the left margin (but with no blank line, unlike "American"
paragraph style which uses flush-left alignment with a blank line between
Thus breakindent=0 "flush left" (as above)
breakindent=-3 "French style with first line indented 3 spaces", as follows:
The quick brown fox jumps over the lazy dog. The quick
brown fox jumps over the lazy dog. The quick brown fox jumps
over the lazy dog.
Line two starts here; neither line goes back to the left
margin of the Vim window. The lazy dog is jumped over by the
quick brown fox. The lazy dog is jumped over by the quick
brown fox. The lazy dog is jumped over by the quick brown fox.
breakindent=2 "all lines except the first indented 2 spaces" (as you show above)
A single option cannot be both boolean and integer; if a negative number is
greater than the 1st line indent, don't go back farther left than the left
margin of the window; thus breakindent=-9999999 would agree with your first
Sex is a natural bodily process, like a stroke.