Обтекание контролируется опцией '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