Una vez me dieron estos materiales para permitir que este ayudante vim
muestre una especie de línea vertical para ayudar a hacer cumplir las reglas PEP8 sobre el límite de longitud de línea en la columna 80:
" Long lines highlighting.
nnoremap <Leader>H :call<SID>LongLineHLToggle()<cr>
hi OverLength ctermbg=none cterm=none
match OverLength /\%>80v/
fun! s:LongLineHLToggle()
if !&diff
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
endif
endfunction
En acción:
Utilizo todo esto para marcar la columna 80.
Dado suficiente tiempo y esfuerzo, podría tener una facilidad similar vim
para marcar texto mucho más allá de la columna 72 solo cuando esté en comentario. Supongo que alguien ya lo ha codificado en algún lugar en algún momento. ¿Ya sabes dónde encontrar ese fragmento?
synID()
ysynIDattr()
. Algo así como:if ((synIDattr(synID(line("."), 72, 0), "name") =~ 'comment\c')
nnoremap
oautocmd
o algo? Escribir eso en la:
consola arrojóE110
yE15
🙁.Respuestas:
Pruebe una región de sintaxis contenida:
En lugar de
50
, usar80
o72
o cualquier columna que usted prefiere.fuente
vim
versión es esa?vim --version
presentarVIM - Vi IMproved 8.0.586 ...
? No estoy seguro de lo que estoy haciendo, pero creo que no funciona para mí como suyo. El mío es reveladorVIM - Vi IMproved 7.4 (2013 Aug 10, compiled Mar 10 2017 00:54:29) ...
, ese es el VIM vainilla de Debian Jessie.containedin=pythonComment
. Si está utilizando algún otro tipo de archivo, deberá buscar cuál es la región de sintaxis para los comentarios y utilizarla en su lugar.vimrc
no funcionará, ya que los archivos de sintaxis cargados más tarde probablemente borrarían cualquier regla actual. Use un autocmd o~/.vim/after/syntax/python.vim
.