Как показать вертикальную линию, чтобы обернуть линию в Vim? - PullRequest
109 голосов
/ 17 декабря 2009

Мне интересно найти способ показать вертикальную линию в столбце 80 в Vim (не GVim).

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

Ответы [ 5 ]

294 голосов
/ 24 сентября 2010

Новое в Vim 7.3:

'colorcolumn' - список разделенных запятыми экранных столбцов, выделено с помощью ColorColumn. Полезно для выравнивания текста. Будет сделать перерисовку экрана медленнее. Столбец экрана может быть абсолютным числом или число, которому предшествует '+' или '-', которое добавляется или вычитается из 'TextWidth'.

Пример из документов:

:set colorcolumn=+1        " highlight column after 'textwidth'
:set colorcolumn=+1,+2,+3  " highlight three columns after 'textwidth'
:highlight ColorColumn ctermbg=lightgrey guibg=lightgrey

Вы также можете использовать абсолютные числа:

:set colorcolumn=80
15 голосов
/ 17 декабря 2009

Редактировать: Для Vim> = 7,3 см. Ответ ниже .

К сожалению, в vim нет механизма для отображения вертикальной линии после столбца, как вы хотите (в отличие, скажем, от TextMate). Однако существуют альтернативные визуальные индикаторы, которые можно использовать, чтобы показать, что линия слишком длинная.

Вот что я использую (вы можете поместить это в свой .vimrc):

nnoremap <Leader>H :call<SID>LongLineHLToggle()<cr>
hi OverLength ctermbg=none cterm=none
match OverLength /\%>80v/
fun! s:LongLineHLToggle()
 if !exists('w:longlinehl')
  let w:longlinehl = matchadd('ErrorMsg', '.\%>80v', 0)
  echo "Long lines highlighted"
 else
  call matchdelete(w:longlinehl)
  unl w:longlinehl
  echo "Long lines unhighlighted"
 endif
endfunction

Итак, вы можете использовать <Leader>H, чтобы переключать столбцы более 80 при выделении.

11 голосов
/ 17 декабря 2009

Есть еще один способ уведомления о длинной очереди.

выделите OverLength ctermbg = красный ctermfg = белый guibg = # 592929
соответствует OverLength /\%81v.*/

Проблемы расположения колонок Vim 80

6 голосов
/ 17 декабря 2009

Я использую match ErrorMsg '\%>80v.\+', который выделит красным цветом все, что больше 80 символов.

Я поместил эту команду в свои python.vim и ruby.vim в ~ / .vim / after / ftplugin /.

3 голосов
/ 17 декабря 2009

Несколько ответов здесь http://vim.wikia.com/wiki/Highlight_long_lines простая автокоманда

:au BufWinEnter * let w:m1=matchadd('Search', '\%<81v.\%>77v', -1)
:au BufWinEnter * let w:m2=matchadd('ErrorMsg', '\%>80v.\+', -1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...