Як показати вертикальну лінію, щоб обернути лінію у Vim?


116

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

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


Відповіді:


15

Редагувати: Для 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, що підсвічуються.


Представлення скрипту vim головного ключа. Див Показати поточний <лідер> ключовий параметр
Rod

@Will, Learn Vimscript The Hard Way - це хороший ресурс, щоб дізнатись про кролячу нору vim.
jazzabeanie

310

Нове у 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

4
Я думаю, що тут добре зазначити, що колір автоматично визначається кольором виділення, якщо ви не встановите його вручну, як у прикладі.
Алекс Харт

Зверніть увагу, що highlightналаштування має бути встановлено після будь-яких colorschemeкоманд, які б перекривали ваш колір виділення.
c4urself

7
Я пішов з яскравим, опіковим-мозок-червоним ... тому що ти знаєш ... довжина лінії
Рон Дальгрен

Чи знаєте ви, як мати два кольори для кольорової колонки? Мені хотілося б мати два: звичайний на 80 символів для коду та дуже слабкий на 72 символи для текстового тексту / коментарів.
Аліса

Було б добре зазначити, що textwidthтакож викликає загортання vim під час набору тексту.
пташенята


6

Я використовую, match ErrorMsg '\%>80v.\+'що виділить червоним кольором все, що більше 80 символів.

Я помістив цю команду в свої python.vim та ruby.vim під ~ / .vim / after / ftplugin /.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.