Esta función se implementó el 25 de junio de 2014 como parche 7.4.338. Siguieron algunos parches que refinaron la función, siendo el último 7.4.354, por lo que esa es la versión que querrá.
:help breakindent
:help breakindentopt
Extractos de la ayuda de vim a continuación:
'breakindent' 'bri' boolean (default off)
local to window
{not in Vi}
{not available when compiled without the |+linebreak|
feature}
Every wrapped line will continue visually indented (same amount of
space as the beginning of that line), thus preserving horizontal blocks
of text.
'breakindentopt' 'briopt' string (default empty)
local to window
{not in Vi}
{not available when compiled without the |+linebreak|
feature}
Settings for 'breakindent'. It can consist of the following optional
items and must be seperated by a comma:
min:{n} Minimum text width that will be kept after
applying 'breakindent', even if the resulting
text should normally be narrower. This prevents
text indented almost to the right window border
occupying lot of vertical space when broken.
shift:{n} After applying 'breakindent', wrapped line
beginning will be shift by given number of
characters. It permits dynamic French paragraph
indentation (negative) or emphasizing the line
continuation (positive).
sbr Display the 'showbreak' value before applying the
additional indent.
The default value for min is 20 and shift is 0.
También es relevante para esto la showbreak
configuración, esto agregará como sufijo la cantidad de su turno con los caracteres que especifique.
Configuración de ejemplo
" enable indentation
set breakindent
" ident by an additional 2 characters on wrapped lines, when line >= 40 characters, put 'showbreak' at start of line
set breakindentopt=shift:2,min:40,sbr
" append '>>' to indent
set showbreak=>>
Nota sobre el comportamiento
Si no especifica la sbr
opción, showbreak
cualquier carácter que se agregue a la sangría. La eliminación sbr
del ejemplo anterior provoca una sangría efectiva de 4 caracteres; con esa configuración, si solo desea usar showbreak
sin sangría adicional, especifique shift:0
.
También puede dar un desplazamiento negativo, lo que tendría el efecto de arrastrar showbreak
caracteres y texto envuelto de nuevo a cualquier espacio de sangría disponible.
Al especificar un min
valor, la cantidad desplazada se aplastará si el ancho de su terminal es más estrecho, pero los showbreak
caracteres siempre se conservan.