使用wrap时Vim colorcolumn中断
当将使用wrap时Vim colorcolumn中断,vim,Vim,当将set colorcolumn=80与set wrap结合使用时,彩色垂直列会被中断,因为已包装的行仍被视为一条单行。我认为一个解决方案可能是突出显示第160列、第240列。。。同样,但是我不知道足够的Vimscript来实现这个 请看一下下面的.gif动画,了解我的意思: 是否可以将colorcolumn显示为一个连续的垂直条?默认情况下,vim没有提供这样做的方法。然而, colorcolumn选项允许您指定要高亮显示的多个列。(在逗号分隔的列表中)因此我认为这应该满足您的要求: se
set colorcolumn=80
与set wrap
结合使用时,彩色垂直列会被中断,因为已包装的行仍被视为一条单行。我认为一个解决方案可能是突出显示第160列、第240列。。。同样,但是我不知道足够的Vimscript来实现这个
请看一下下面的.gif动画,了解我的意思:
是否可以将colorcolumn显示为一个连续的垂直条?默认情况下,vim没有提供这样做的方法。然而,
colorcolumn
选项允许您指定要高亮显示的多个列。(在逗号分隔的列表中)因此我认为这应该满足您的要求:
set colorcolumn=80,160,240
我喜欢你对这个问题的演示。它看起来不好看,但至少它是正确和明确的。在我看来,换行和
colorcolumn
在概念上是对立的:你换行是因为你不关心它们的实际长度,而当你关心时,你使用colorcolumn
。我看不出把两者混为一谈有什么意义。你说得有道理,@romainl。我的主要目的是使colorcolumn
始终处于打开状态,并根据需要在wrap
和nowrap
之间切换(取决于内容/文件类型)。定义一条捷径,在wrap/no colorcolumn
和nowrap/colorcolumn
之间快速切换,这对于我的情况来说可能是一个解决办法。我仍然认为原来的问题本身是有效的,因此我将保留它。谢谢,但恐怕这不起作用,因为窗口/终端宽度可能大于80列。例如,当我设置columns=90
时,我必须设置colorcolumn=8016652
(前4列用于行号)。是否可以安装某种侦听器并在调整大小时自动更改colorcolumn
?是的,可能是通过autocmd事件VimResized
实现的。我会调查一下,如果我发现任何试图实现这一点的方法都不可靠,而且有点不成熟,我会补充我的答案。我会继续尝试,但这似乎不是一个很好的方法。