Как настроить Vim для захвата вывода PC_Lint - PullRequest
1 голос
/ 17 июня 2011

Я запускаю Vim на коробке с Windows и хотел бы интегрировать использование pc_lint в Vim. Я выяснил, как запустить lint из Vim, однако я не знаю, как захватить вывод в Vim и в идеале, как проанализировать вывод, чтобы я мог перейти к правильным строкам кода через сообщения об ошибках.

Кто-нибудь знает плагин, который будет это делать? Я не мог найти один.

Какой-нибудь совет для этого новичка Vim?

Ура, Andrew

Ответы [ 2 ]

3 голосов
/ 17 июня 2011

ОК, у меня все получилось.

Моя настройка efm не работает правильно.

В моем файле конфигурации pc_lint у меня есть следующие настройки:

-"format=%(%f %l %C %) %t %n: %m" 

И в моем файле vimrc у меня есть следующие настройки:

set efm=%f\ \ %l\ \ %c\ \ %m 

У меня также естьследующий скрипт в моем vimrc

" map f4 to run lint

map <f4> :call LintProject()<cr>

"use windows default shell

set shell=cmd.exe

function! LintProject()

    new "open a new buffer

    exec 'silent r! lint-nt c:\lint\vim\std.lnt *.c -b'

    exe "normal ggdd"  "remove blank line at the top of the file

    caddb "add content of the buffer to the quickfix window

    close "close the buffer

    copen "open quickfix window

endfunction

Теперь я могу перемещаться по окну быстрого исправления в обычном режиме, и когда я нажимаю enter, меня перенаправляют в файл с ошибкой.

Fantastic !!!

3 голосов
/ 17 июня 2011

Я полагаю, вам нужна команда :redir.

См. Эту ссылку для хорошего описания: http://vim.wikia.com/wiki/Capture_ex_command_output

На самом деле, вот гораздо более простой способ:

:r ! command

Это будет считывать результаты команды в текущий буфер.

...