如何为单个缓冲区设置换行

时间:2013-07-05 07:05:29

标签: vim

当我启动Vim时,我的.vimrc指示:nowrap模式。我讨厌编码时的包装,因为它会破坏缩进并支持编码风格,其中单行太长,太复杂,不太可读/简洁。

但是,在编辑HTML等文件时,环绕模式很有帮助,特别是在有大量文本内容的情况下。它允许更快的线路导航(gjgk ...),并且长线并不重要。

所以我希望Vim根据当前文件类型设置:wrap设置。我试过了:

autocmd FileType html,eruby,erb set wrap

但是,一旦打开.html文件,这将影响所有打开的缓冲区。我希望这只影响包含缓冲区的.html。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

如果你看一下'wrap'的帮助页面,你会发现它适用于windows而不是buffer:

                                        *'wrap'* *'nowrap'*
'wrap'      boolean    (default on)
            local to window
            {not in Vi}

这意味着您有3个选项:

  • BufEnter创建一个自动命令,只要您切换缓冲区,就会重新应用wrap
  • 使用简单的热键在换行之间切换,例如:nnoremap <F2> :set invwrap
  • 关闭这些窗口,而不是重复使用它们