pylint.vim のような別のプラグインをインストールしたくありません。
そして今日、Eclipse プラグインである pydev の代わりに vim edit python を使用することにしました。しかし、私は問題を抱えています。
これをvimrcに追加しました
autocmd BufWritePost *.py !pylint <afile>
ただし、pylint には出力にファイル名が含まれていません
************* Module mymodule
E: 22: invalid syntax
shell return 2
22行目にジャンプできないので、sedを使用して出力を変更します
autocmd BufWritePost *.py !pylint <afile> | sed 's/^\(\w*\):\s*\([0-9]\+\)/<afile>:\2: \1: /g'
戻ります:
mymodule.py:22: E: : invalid syntax
ただし、vimによるシェルリターン2はありません。そのため、まだその行にジャンプできません。vimはそれを正常にコンパイルしたと見なします
======================== 新しいコメント =========== Vim の `autocmd` コマンドで関数を呼び出す
makeコマンドを使用してmakeprgを設定する必要があると思うので、以下の設定を使用します
autocmd FileType python let &makeprg='pylint <afile> | sed s/^\(\w*\):\s*\([0-9]\+\)/<afile>:\2: \1: /g'
autocmd BufWritePost *.py make
保存すると、vim は次のように返します。
************* 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