Обтекание контролируется опцией 'textwidth' . :help 'textwidth' показывает, что он является локальным для буфера, поэтому можно установить различные значения, например, вручную через
:setlocal textwidth=50
Чтобы это автоматически применялось ко всем файлам Ruby, вы можете использовать встроенные в Vim плагины для определения типов файлов и типов файлов. Поместите указанную выше команду в ~/.vim/after/ftplugin/ruby.vim . (Для этого необходимо, чтобы у вас был :filetype plugin on ; использование каталога after позволяет вам переопределить любые настройки по умолчанию для типов файлов, выполняемые $VIMRUNTIME/ftplugin/ruby.vim .) В качестве альтернативы, вы можете определить :autocmd FileType ruby ... непосредственно в вашем ~/.vimrc , но это имеет тенденцию становиться громоздким, когда у вас есть много настроек.
Встроенная функциональность останавливается там, в области буфера. Чтобы применить различную текстовую ширину только к комментариям (или любому другому элементу синтаксиса), необходима динамическая адаптация. Это может быть реализовано с помощью :autocmd , подключая событие CursorMoved . Мой плагин OnSyntaxChange предоставляет служебные функции для упрощения установки (снова помещается в ~/.vim/after/ftplugin/ruby.vim):
call OnSyntaxChange#Install('Comment', '^Comment$', 1, 'a')
autocmd User SyntaxCommentEnterA setlocal textwidth=50
autocmd User SyntaxCommentLeaveA setlocal textwidth=80