2013-07-23 4 views
1

при использовании Vim для компиляции Pro файл Oracle * C я есть следующие вопросы:Vim quickfix с файлами Oracle Pro * C?

  1. , если нет ничего плохого в компиляции заканчивается, но текущий открытый файл ушел поворачивая экран пустой (это происходит только с Pro * c файлы, обычный .c работать нормально), нажатие CtrlO переходит к исходному файлу.

  2. если есть проблема с кодом, я могу открыть окно быстрого доступа, но когда я расположил себя над линией, которая показывает местоположение с проблемой, он ничего не сделает.

Я довольно новый с Vim, поэтому я не знаю, как решить эти проблемы.

Любой совет ценится

Я использую Vim 7.3, если это помогает.

+0

Вы не говорите о механизме QuickFIX для протокола FIX, не так ли? –

+0

привет Грант Birchmeier, нет, я имею в виду quickfix для Vim. При дальнейших исследованиях, угадывая, что моя проблема решена в конфигурации errorformat, прямо сейчас я пытаюсь найти, если кто-то уже создал одну конфигурацию, которая работает с выходом компилятора PRO * C – Eman

ответ

0

Проблема заключается в том, что Vim связывает файлы *.pc с другим файловым форматом (по умолчанию) и не имеет шаблона errorformat, который подходит для стиля сообщения о предупреждении/ошибке Oracle Pro * C (по крайней мере, при использовании Vim 7.2 или 7.4).

(Ваш первый вопрос является результатом по умолчанию errorformat согласования Pro * C сообщения запуска, и второй вопрос, потому что по умолчанию errorformat модели не соответствуют ни одному Pro сообщений/предупреждения об ошибках * C.)

I использовать следующие дополнительные errorformat шаблоны для Pro * файлов C:

"append patterns for Pro*C multi line error message: 
set efm+=%ESyntax\ error\ at\ line\ %l\\,\ column\ %c\\,\ file\ %f:,%ESemantic\ error\ at\ line\ %l\\,\ column\ %c\\,\ file\ %f:,%EError\ at\ line\ %l\\,\ column\ %c\ in\ file\ %f,%ZPCC%[A-Z0-9-]%#\\,\ %m,%C%.%# 

"prepend ignoring string to ignore Pro*C startup message 
set efm^=%-GPro*C/C++:\ Release%.%# 

Вы можете добавить эти строки в ~/.vimrc.

Чтобы устранить связанный с этим вопрос обнаружения типа файла вы можете настроить правильный filtetype:

$ cd ~/.vim 
$ mkdir ftdetect 
$ cd ftdetect 
$ cat > pc.vim 
au BufRead,BufNewFile *.pc set filetype=esqlc 

Для отступа этого не достаточно, хотя.

Предполагая, что-то вроде

filetype plugin indent on 

в ваших ~/.vimrc вы можете явно настроить правила отступа C:

$ cd ~/.vim 
$ mkdir indent 
$ cd indent 
$ cp /usr/share/vim/vim72/indent/c.vim esqlc.vim 

Без этого я не получаю никакого отступа вообще в .pc файлы - даже не код C.

Смежные вопросы