Существует много преимуществ и недостатков к изменяемым данным. Недостаток за миллион долларов искажает. Если то же значение будет использоваться в нескольких местах, и один из них изменяет его, то это, будет казаться, волшебно изменилось на другие места, которые используют его. Это связано с, но не идентичное с, условия состязания.
преимуществом за миллион долларов является модульный принцип, иногда. Изменяемое состояние может позволить Вам скрывать изменяющуюся информацию от кода, который не должен знать об этом.
Искусство Интерпретатора входит, они торгуют offs в некоторых деталях, и дает некоторые примеры.
'textwidth' 'tw' number (default 0)
local to buffer
{not in Vi}
Maximum width of text that is being inserted. A longer line will be
broken after white space to get this width. A zero value disables
this. 'textwidth' is set to 0 when the 'paste' option is set. When
'textwidth' is zero, 'wrapmargin' may be used. See also
'formatoptions' and |ins-textwidth|.
When 'formatexpr' is set it will be used to break the line.
NOTE: This option is set to 0 when 'compatible' is set.
'wrapmargin' 'wm' number (default 0)
local to buffer
Number of characters from the right window border where wrapping
starts. When typing text beyond this limit, an <EOL> will be inserted
and inserting continues on the next line.
Options that add a margin, such as 'number' and 'foldcolumn', cause
the text width to be further reduced. This is Vi compatible.
When 'textwidth' is non-zero, this option is not used.
See also 'formatoptions' and |ins-textwidth|. {Vi: works differently
and less usefully}
Если вы говорите об автоматическом переносе длинных строк, отправляя их в следующую, попробуйте
:set textwidth=0
:set wrapmargin=0
Может быть, это заданная ширина текста, которая автоматически разбивает строки при достижении определенной длины. Попробуйте
:set tw=0
Если это не поможет, поиграйте, например, с
:set wrap linebreak textwidth=0
и
:set virtualedit=insert