Я не хочу устанавливать другой плагин, например pylint.vim,
И сегодня я решил использовать vim edit python вместо pydev, который является плагином eclipse.Но у меня есть проблемы.
Я добавил это в свой 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
, но без оболочки возвращает 2 через vim.так что он все еще не может перейти к этой линии.vim считает его успешно скомпилированным
========================= новый комментарий =========== Вызов функции в команде Vim `autocmd`
Я думаю, может быть, мне следует использовать команду make и установить makeprg, поэтому при сохранении я использую ниже config
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