Ця функція була реалізована 25 червня 2014 року як патч 7.4.338. Потім відбулося декілька виправлень, що вдосконалюють цю функцію, остання - 7.4.354, тож саме ця версія вам сподобається.
:help breakindent
:help breakindentopt
Витяги з довідки vim нижче:
'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.
Також важливим для цього є showbreak
параметр, він суфіксує вашу суму зміни із зазначеними вами символами.
Приклад конфігурації
" 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=>>
Примітка про поведінку
Якщо ви не вказали sbr
параметр, будь- showbreak
які символи, додані до відступу. Видалення sbr
з наведеного прикладу спричиняє ефективний відступ із 4 символів; з цим налаштуванням, якщо ви просто хочете використовувати showbreak
без додаткового відступу, вкажіть shift:0
.
Ви також можете дати негативний зсув, що призведе до перетягування showbreak
символів та загорнутого тексту назад у будь-який доступний простір відступу.
При вказівці min
значення зміщена сума буде стиснута, якщо ширина терміналу вужча, але showbreak
символи завжди зберігаються.