Une fois, j'ai reçu ces documents pour permettre à cet assistant vim
d'afficher une sorte de ligne verticale afin d'aider à appliquer les règles PEP8 sur la limite de longueur de ligne à la colonne 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 action:
J'utilise tout cela pour marquer la 80e colonne.
Étant donné suffisamment de temps et d'efforts, je pourrais très bien avoir une facilité similaire vim
pour marquer le texte bien au-delà de la colonne 72 uniquement dans les commentaires. Je suppose qu'il a déjà été codé par quelqu'un quelque part à un moment donné. Savez-vous déjà où trouver cet extrait?
synID()
etsynIDattr()
. Quelque chose comme:if ((synIDattr(synID(line("."), 72, 0), "name") =~ 'comment\c')
nnoremap
ouautocmd
ou quelque chose? L'écriture sur la:
console a jetéE110
etE15
🙁.Réponses:
Essayez une région de syntaxe contenue:
Au lieu de
50
, utilisez80
ou72
ou selon la colonne que vous préférez.la source
vim
version s'agit-il?vim --version
présenterVIM - Vi IMproved 8.0.586 ...
? Je ne suis pas sûr de ce que je fais, mais je pense que cela ne fonctionne pas pour moi comme le vôtre. Le mien est révélateurVIM - Vi IMproved 7.4 (2013 Aug 10, compiled Mar 10 2017 00:54:29) ...
, c'est le VIM vanille de Debian Jessie.containedin=pythonComment
. Si vous utilisez un autre type de fichier, vous devrez rechercher la région de syntaxe des commentaires et l'utiliser à la place.vimrc
ne fonctionnera pas, car les fichiers de syntaxe chargés plus tard effaceraient probablement toutes les règles actuelles. Utilisez un autocmd ou~/.vim/after/syntax/python.vim
.