Как настроить маркер длины строки в vim / gvim?

Некоторые текстовые редакторы графического интерфейса имеют вертикальную линию, которая служит маркером длины строки (это помогает держать строки короче 80 символов в файлах исходного кода).

Возможно ли иметь что-то подобное в vim / gvim? Я знаю о варианте линейки vim, но не очень удобно следить за ним визуально на большом экране.

Изменить: при поиске в «colorcolumn», чтобы узнать больше, я обнаружил, что этот вопрос является дубликатом https://stackoverflow.com/questions/235439/vim-80-column-layout-concerns

4 Solutions collect form web for “Как настроить маркер длины строки в vim / gvim?”

Просто выполните это

:set colorcolumn=72 

Вы также можете префикс аргумента с помощью - или + чтобы поместить маркер в число столбцов влево или вправо от textwidth , и он принимает список столбцов, разделенных запятыми. Я думаю, что опция colorcolumn находится только в Vim 7.3. Видеть

 :help colorcolumn 

Из беседы Дэмиана Конвей «More Instantly Better Vim» на OSCON 2013:

 highlight ColorColumn ctermbg=magenta call matchadd('ColorColumn', '\%81v', 100) 

Это приводит к тому, что символ выделяется в пурпуре (снимок экрана находится в DarkCyan ), когда линия переходит на максимум 80 символов.

Vim с включенной подсветкой

Для gVim: лучше всего переместить эти 2 строки в последнюю часть вашего файла .vimrc чтобы убедиться, что он работает.

Вы можете попробовать следующее:

 grep '.\{81\}' file 

или

 set colorcolumn=80 

(Или сокращенный эквивалент)

 set cc=80 

Или как указано выше:

 match ErrorMsg '\%>80v.\+' 

Ниже приводится неуклюжий трюк от Hacking Vim: Cookbook, чтобы получить максимум от последнего редактора Vim от Ким Шульца.

Он выделяет с ErrorMsg (обычно ярко-красный) любые строки, ErrorMsg которых превышает 80 символов. Хорошо работает для меня.

 function! RemoveWidthLimitWarnigns() silent! call matchdelete(4) endfunction function! InsertWidthLimitWarnings() call RemoveWidthLimitWarnigns() call matchadd("ErrorMsg", "\\%>79v.\\+", 10, 4) endfunction 
  • Невозможно изменить размер разделов vim внутри tmux
  • Могу ли я украсть сеанс vim с другого терминала?
  • VIM уничтожает символические ссылки под Windows
  • Какая у вас самая результативная комбинация с Vim?
  • Vim прокручивается очень медленно, когда линия слишком длинная
  • Как я могу сказать, что Vim правильно отображает escape-коды ANSI?
  • Установка Vim в Cygwin
  • PDF-XChange Viewer, pdflatex, Windows XP Pro SP3
  • Как настроить подсветку синтаксиса для пользовательского языка в vim?
  • Как создать ярлык для команды find и replace в vim?
  • Vim - выберите текст, выделенный поиском?
  • Как изменить существующий буфер на новой вкладке в vim?
  • Interesting Posts

    Установите действие кнопки питания Windows XP на «Ничего не делать» с настройкой скрипта или реестра

    Можно ли добавить регуляторы громкости и сочетания клавиш на механическую клавиатуру, у которой нет клавиш?

    Как закрепить файлы в командной строке XP без дополнительных инструментов / загрузок

    Получить версию драйвера через командную строку Windows

    Переменная, по-видимому, изменяет размер на каждой итерации цикла – что?

    Предотrotation закрытия windows консоли в приложении консоли Visual Studio C / C ++

    Странное поведение strace и setuid: разрешение отклонено под strace, но не работает нормально

    Загрузите программу установки для старой версии Git

    Как удалить значок корзины с рабочего стола?

    Html.Partial vs Html.RenderPartial & Html.Action vs Html.RenderAction

    Создание экземпляра с использованием имени classа и вызывающего конструктора

    DIR имена файлов, которые содержат расширения

    Альтернативный (K & R) C синтаксис для объявления функции против прототипов

    В книгах C ++ привязка массива должна быть постоянным выражением, но почему работает следующий код?

    Я получаю красную полосу при попытке установить Windows 7 DVD, и она зависает

    Давайте будем гением компьютера.