Estoy interesado en encontrar una manera de mostrar una línea vertical en la columna 80 en Vim (no GVim).
He usado set wrap
, pero solo quiero mostrar una línea vertical para poder envolver la línea larga yo mismo.
Estoy interesado en encontrar una manera de mostrar una línea vertical en la columna 80 en Vim (no GVim).
He usado set wrap
, pero solo quiero mostrar una línea vertical para poder envolver la línea larga yo mismo.
Respuestas:
Editar: Para Vim> = 7.3, consulte la respuesta a continuación .
Desafortunadamente, vim no tiene ningún mecanismo para mostrar una línea vertical después de una columna como desea (a diferencia de, por ejemplo, TextMate). Sin embargo, existen indicadores visuales alternativos que puede utilizar para mostrar que una línea es demasiado larga.
Esto es lo que uso (puedes poner esto en tu .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
Entonces puede usar <Leader>H
para alternar columnas más de 80 resaltadas.
Nuevo en Vim 7.3:
'colorcolumn' es una lista separada por comas de columnas de pantalla que están resaltadas con ColorColumn. Útil para alinear texto. Hará que el redibujado de la pantalla sea más lento. La columna de la pantalla puede ser un número absoluto, o un número precedido de '+' o '-', que se suma o se resta de 'textwidth'.
Ejemplo de los documentos:
:set colorcolumn=+1 " highlight column after 'textwidth'
:set colorcolumn=+1,+2,+3 " highlight three columns after 'textwidth'
:highlight ColorColumn ctermbg=lightgrey guibg=lightgrey
También puede usar números absolutos:
:set colorcolumn=80
highlight
configuración debe establecerse después de cualquier colorscheme
comando, ya que anularía el color de resaltado.
textwidth
también hace que vim se ajuste cuando está escribiendo.
Hay otra forma de notificar sobre la fila larga.
resaltar OverLength ctermbg = rojo ctermfg = white guibg = # 592929
coincidir OverLength /\%81v.*/
Yo uso match ErrorMsg '\%>80v.\+'
que resaltará cualquier cosa con más de 80 caracteres con rojo.
Puse ese comando en mi python.vim y ruby.vim en ~ / .vim / after / ftplugin /.
Varias respuestas aquí http://vim.wikia.com/wiki/Highlight_long_lines simple autocommand
:au BufWinEnter * let w:m1=matchadd('Search', '\%<81v.\%>77v', -1)
:au BufWinEnter * let w:m2=matchadd('ErrorMsg', '\%>80v.\+', -1)