Отображение другого цвета фона в Vim за 80 символов

Я видел раскладку столбцов Vim 80, касающуюся, но в ответе там выделяется только фактический контент, который превышает отметку в 80 символов. Я хочу открыть окно Vim со 100 + столбцом с самыми левыми 80 столбцами, используя обычный фон и все, что прошло мимо того, что использует немного другой фон. Фон окна Vim должен быть другого цвета, а не только текста, который проходит через 80 символов. Это указывает на то, насколько близко я добираюсь до точки 80- char, не задумываясь о ней первым.

Я не думаю, что в настоящее время это возможно, но я думал, что попрошу на всякий случай.

Может быть, это можно сделать с помощью плагина?

TextMate Пример желаемого выделения правого поля Vim

Выбрав "Выделение правого поля" в общих настройках TextMate, вы можете увидеть пример желаемого поведения Vim.

TextMate Right Margin Highlighted Example

Ответ 1

Если у вас есть 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. Вы можете найти мой vim config и все мои dotfiles на GitHub.

Ответ 2

Выделите 81 столбец

:set textwidth=80
:set colorcolumn=+1

Вы также можете сделать несколько стилей:

:hi ColorColumn guibg=#2d2d2d ctermbg=246

Ответ 3

Решение, предложенное в комментарии выше. Сначала выделите свой фон, затем выделите ColorColumn black как оверлей. Установите цветную колонку в строки 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),",")

Ответ 4

попробовать:

:/\%>80v./+

он отметит +80 символов как ошибку

Ответ 5

Я не думаю, что возможно иметь то, что вы хотите, но я следую этому вопросу, так как меня интересует в этом я сам.

Возможно, я заявляю очевидное, но вы можете настроить highligth в столбцах 70-го +, чтобы получить указание о том, как близко вы попадаете в 80-й столбец.