Я бы хотел, чтобы vim окрашивал "длинные" строки для меня. Например, используя 80 столбцов, я хотел бы выделить строки, которые превышают эту длину. Вот примерно то, что я думаю, должен содержать файл .vimrc, хотя он (1) не работает и (2) использует синтаксис regex Perl, чтобы проиллюстрировать мою точку зрения, потому что я не знаю Vim достаточно хорошо:
...
highlight Excess ctermbg=0
au Syntax * syn match Excess /.{80,}$/
...
Это (по моему мнению, по крайней мере) должно обозначать строки, которые превышают 80 столбцов. То, что я бы идеально хотел, - это возможность цвета только той части строки, которая превышает 80 столбцов, поэтому, если строка содержит 85 столбцов, тогда будут выделены 81-й по 85-й столбцы.
Я уверен, что Vim может это сделать, только не со мной у руля.
Ответ 1
Мне нужен автокоманд для работы для меня:
augroup vimrc_autocmds
autocmd BufEnter * highlight OverLength ctermbg=darkgrey guibg=#111111
autocmd BufEnter * match OverLength /\%75v.*/
augroup END
Также, как идея использования 75, если вы стремитесь к 80 столбцам в среднем.
Взято из:
http://blog.ezyang.com/2010/03/vim-textwidth/
Возможная причина неудачи без BufEnter
: выделить + совпадение можно использовать только один раз. Многократное использование означает, что старые переопределены. Как добавить несколько ярлыков
Ответ 2
У меня это в моем vimrc.
Я нашел его здесь: Распределение столбцов Vim 80...
highlight OverLength ctermbg=darkred ctermfg=white guibg=#FFD9D9
match OverLength /\%81v.*/
Вы можете настроить цвета в соответствии с вашими предпочтениями.
Ответ 3
Поскольку мне не нравится маркер столбца Vim 7.3, я просто использую текст выделения после столбца 80... по крайней мере, это то, что я хочу 95% времени.
В течение остальных 5% времени я написал это небольшое расширение, чтобы также иметь быстрый способ отключить выделение:
https://gist.github.com/fgarcia/9704429#file-long_lines-vim
Ответ 4
Я использую следующий метод:
hi gitError ctermbg=Red
match gitError /^.*\s$/
2match gitError /^.\{120\}.*$/
(Они соответствуют некоторым git перехватам фиксации)
Вторая строка должна быть interrest для вас.
Ответ 5
Это использует автокоманду для настройки значения OverLength для соответствия типу вашего файла.
" highlight lines longer than `textwidth` size for each filetype
autocmd FileType *
\ if &textwidth |
\ exec 'match OverLength /\%' . string(&textwidth+2) . 'v.*/' |
\ endif