Nie chcę zainstalować inną wtyczkę, jak pylint.vim,jak używać pylint w vim
A dzisiaj, zdecyduje się użyć vim edycji Pythona zamiast PyDev który jest plugin Eclipse. Ale mam problemy.
muszę dodać w moim vimrc
autocmd BufWritePost *.py !pylint <afile>
ale pylint nie zawiera pliku w wyjściu
************* Module mymodule
E: 22: invalid syntax
shell return 2
więc nie może przeskoczyć do linii 22, więc używam sed zmienić wyjście
autocmd BufWritePost *.py !pylint <afile> | sed 's/^\(\w*\):\s*\([0-9]\+\)/<afile>:\2: \1: /g'
zwraca:
mymodule.py:22: E: : invalid syntax
ale bez powłoki powrót 2 przez vim. więc nadal nie może przejść do tej linii. vim traktować je jako kompilacji z powodzeniem
========================= nowy komentarz =========== Call a function in Vim’s `autocmd` command
myślę, że może powinienem użyć zrobić komendę i ustaw makeprg, więc używam poniżej config
autocmd FileType python let &makeprg='pylint <afile> | sed s/^\(\w*\):\s*\([0-9]\+\)/<afile>:\2: \1: /g'
autocmd BufWritePost *.py make
kiedy zapisać Vim powroty:
************* Module count
E: 3: invalid syntax
(1 of 2): ************* Module count
Error detected while processing BufWritePost Auto commands for "*.py":
E492: Not an editor command: sed s/^\(\w*\):\s*\([0-9]\+\)/<afile>:\2:
\1: /g
. Właśnie tego chcę. ale co to znaczy%: p. a format błędu jest zmienną vim, jak może wpływać na pylint? –
'%: p' oznacza użycie pełnej ścieżki pliku – idbrii
Świetna odpowiedź. Ale - format -output jest teraz przestarzałą opcją w pylintu 1.0.0. Alternatywą jest użycie 'set makeprg = pylint \ --reports = n \ - msg-template = \" {path}: {line}: \ {msg_id} \ {symbol}, \ {obj} \ {msg} \ "\%: p' – JohnTESlade