Нет хорошего способа сделать это. Мы можем взломать импровизированный setlocal softwrap
с помощью autocmd
, если изменим ответ @eborisch. Если мы изменяем размер каждый раз, когда вводим буфер, и мы изменяем размер до определенной длины, когда установлена локальная переменная softwrap
, мы получаем желаемое поведение.
Давайте предположим, что мы хотим мягко обернуть до 80 столбцов, мы можем написать следующее в .vimrc
.
augroup softwrap
autocmd VimResized * if (exists('b:softwrap') && &columns > 80) | set columns=80 | endif
autocmd BufEnter * set columns=999
augroup END
Чтобы включить режим для определенного буфера, используйте следующие команды:
let b:softwrap=1
set columns=80