在Vim中显示不同的背景颜色超过80个字符

时间:2010-03-15 12:43:40

标签: vim

我见过Vim 80 column layout concerns,但那里的答案只突出显示超过80个字符标记的实际内容。我希望打开一个100+列的Vim窗口,最左边的80列使用正常背景和过去使用稍微不同背景的任何东西。 Vim窗口背景应该是不同的颜色,而不仅仅是超过80个字符点的文本。这将表明我有多接近80-char点,而不必先完成它。

我认为目前不可能,但我想我会问以防万一。

也许可以用插件完成?

TextMate所需Vim右边距突出显示的示例

通过在TextMate的常规首选项中选择“突出显示右边距”,您可以看到所需Vim行为的示例。

TextMate Right Margin Highlighted Example

6 个答案:

答案 0 :(得分:213)

如果你有Vim> = v7.3,你只需将其添加到.vimrc以突出显示81及以后(所以80是你的最后一个有效列):

let &colorcolumn=join(range(81,999),",")

如果您没有看到突出显示,则可能没有ColorColumn突出显示颜色集。添加此项(根据您的喜好进行调整):

highlight ColorColumn ctermbg=235 guibg=#2c2d27

现在我想突出显示第80列以及第120列以及之后,所以我有单独的“警告”和“危险”标记。你可以这样做:

let &colorcolumn="80,".join(range(120,999),",")

实施例

以下是GVim编辑我的.vimrc

的屏幕截图

GVim editing my .vimrc

我使用Ubuntu Mono 11字体和molokai配色方案。您可以在GitHub上找到我的vim config和我的所有dotfiles

答案 1 :(得分:71)

突出显示81列

:set textwidth=80
:set colorcolumn=+1

你也可以做一些造型:

:hi ColorColumn guibg=#2d2d2d ctermbg=246

答案 2 :(得分:14)

上面评论中提出的解决方案。首先突出显示背景,然后将ColorColumn黑色突出显示为叠加层。将颜色列设置为1-80行。

hi Normal guibg=#32322f ctermbg=236
hi NonText guibg=#32322f ctermbg=236
hi ColorColumn guibg=#000000 ctermbg=0
let &colorcolumn=join(range(1,80),",")

答案 3 :(得分:8)

尝试:

:/\%>80v./+

它会将+80个字符标记为错误

答案 4 :(得分:0)

我认为没有可能拥有你想要的东西, 但是因为我感兴趣,所以我关注这个问题 在这样的事情上我自己。

也许,我说的很明显,但你可以设置 在第70 +列中的highligth得到指示 你有多接近第80列。

答案 5 :(得分:0)

对于像我这样使用onedark.vim并希望由Conner发布解决方案的用户,我将这些行添加到了我的vimrc文件中

let &colorcolumn=join(range(1,80),",")
let g:onedark_color_overrides = {
  \ "black": {"gui": "#2C323C", "cterm": "236", "cterm16": "8"},
  \ "cursor_grey": {"gui": "#282C34", "cterm": "235", "cterm16": "0"}
  \ }

我只是交换了两个值,取自onedark的源代码

相关问题