我已将文本设置为 80 个字符后换行。
编辑某一类型的行时,是否可以将文本换行到 50 个字符?
例如,我编写 Ruby 程序,我希望 Ruby 注释可以换行到 50 个字符,而其他内容保持 80 个字符。
是否可以?
答案1
包装由选项控制'textwidth'
。:help 'textwidth'
显示它是本地缓冲区,因此可以设置不同的值,例如通过手动
:setlocal textwidth=50
为了使此功能自动应用于所有 Ruby 文件,你可以使用 Vim 的内置文件类型检测和文件类型插件. 将上述命令输入~/.vim/after/ftplugin/ruby.vim
. (这要求您有:filetype plugin on
; 使用后目录允许您覆盖由 完成的任何默认文件类型设置$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