Forum: PC-Programmierung Linter und highlighting in VIM --> macht den Editor lahm


von montagskind (Gast)


Angehängte Dateien:

Lesenswert?

Ich möchte autocomplete, linting und ensprechendes highlighting in VIM 
verwenden. Dafür habe ich das Plugin ALE (asynchronous lint engine) 
installiert und "flake8" und "pyls" konfiguriert. So weit funktioniert 
auch alles ganz gut.

Nun habe ich aber das Problem bei großen Dateien. Wenn ich in VIM mehre 
Zeilen scrolle und die Tastatur dann los lasse, scrollt der Editor noch 
einige Zeit weiter. Ich kann das Problem soweit eingrenzen, dass das 
nicht mehr passiert, indem ich einen der beiden linter (flake8 und pyls) 
disable.

Nun würde ich aber gerne "pyls" wegen dem autocomplete behalten. 
"flake8" würde ich ebenfalls gerne behalten, da ich dessen highlighting 
der Fehlermeldungen nicht so überladen finde wie es "pyls" macht.

Ich vermute, dass der PC überfordert ist, da "flake8" und "pyls" 
gleichzeitig den Code auf Fehler durchsuchen. Hat jemand eine Idee wie 
ich vermeiden kann, dass "pyls" den Code live durchsucht?

mein vimrc:
1
" === ALE: asynchronous lint engine ==========================================
2
" Load all plugins now.
3
" Plugins need to be added to runtimepath before helptags can be generated.
4
packloadall
5
" Load all of the helptags now, after plugins have been loaded.
6
" All messages and errors will be ignored.
7
silent! helptags ALL
8
9
"""" Better formatting fo worp/ale
10
let g:ale_echo_msg_error_str = 'E'
11
let g:ale_echo_msg_warning_str = 'W'
12
let g:ale_echo_msg_format = '[%linter%] %s [%severity%] [%...code...%]'
13
14
"""" Enable completion where available.
15
let g:ale_completion_enabled = 1
16
17
""" Customize linters that are turned on
18
" flake8: linting; pyls: autocomplete
19
let g:ale_linters = {
20
\   'python': ['flake8','pyls'],
21
\   'javascript': ['tsserver'],
22
\}
23
24
" Autocomplete will show a window with information of the proposed function.
25
" This will close this window after a completion was accepted
26
autocmd CursorMovedI * if pumvisible() == 0|pclose|endif
27
autocmd InsertLeave * if pumvisible() == 0|pclose|endif
28
29
let g:ale_lint_on_save = 0
30
let g:ale_sign_error = '•'
31
let g:ale_sign_warning = '•'
32
33
" set colour for linting errors
34
" see: https://github.com/dense-analysis/ale/issues/249
35
let g:ale_change_sign_column_color = 1
36
" autocmd VimEnter * :let g:ale_change_sign_column_color = 1
37
autocmd VimEnter * :highlight! ALESignColumnWithErrors ctermfg=0 ctermbg=8 guifg=#A5A5A5 guibg=#F5F5F5
38
autocmd VimEnter * :highlight! ALESignColumnWithoutErrors ctermfg=0 ctermbg=0 guifg=#A5A5A5 guibg=#F5F5F5
39
autocmd VimEnter * :highlight! ALEErrorSign ctermfg=9 ctermbg=8 guifg=#C30500 guibg=#F5F5F5
40
autocmd VimEnter * :highlight! ALEWarningSign ctermfg=11 ctermbg=8 guifg=#ED6237 guibg=#F5F5F5
41
autocmd VimEnter * :highlight! ALEInfoSign   ctermfg=14 ctermbg=8 guifg=#ED6237 guibg=#F5F5F5
42
autocmd VimEnter * :highlight! ALEError ctermfg=9 ctermbg=8 guifg=#C30500 guibg=#F5F5F5
43
autocmd VimEnter * :highlight! ALEWarning ctermfg=11 ctermbg=8 guifg=#ED6237 guibg=#F5F5F5
44
autocmd VimEnter * :highlight! ALEInfo   ctermfg=14 ctermbg=8 guifg=#ED6237 guibg=#F5F5F5

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.