Что делает: команда компилятора делает в Vim?

Я недавно нашел, что существует команда в Vim, названном компилятором. Можно назвать его с любым общим компилятором (например: компилятор gcc: компилятор php, и т.д.), но это, кажется, не имеет непосредственного эффекта.

Я искал на страницах справочника, но ничто не нашел полезным о том, что это на самом деле делает, ни делает Vim Wiki. Кто-либо знает то, что на самом деле делает та команда?

24
задан Martín Fixman 13 June 2010 в 03:53
поделиться

3 ответа

Он устанавливает параметры для этого компилятора, такие как программа, которая будет использоваться для : make , и формат сообщений об ошибках, чтобы vim мог переходить к местам возникновения ошибок. Поищите в $ VIMRUNTIME / compiler / различные файлы .vim, которые можно получить.

: help write-compiler-plugin

Подключаемый модуль компилятора устанавливает параметры для использования с конкретным компилятором. Пользователь может загрузите его командой : compiler . Основное использование - установка Параметры errorformat и makeprg.

См. Также : help errorformat и : help makeprg .

Вот файл компилятора GCC на моем компьютере, например:

/usr/share/vim/vim72/compiler/gcc.vim

" Vim compiler file
" Compiler:         GNU C Compiler
" Maintainer:       Nikolai Weibull <now@bitwi.se>
" Latest Revision:  2006-12-20

if exists("current_compiler")
  finish
endif
let current_compiler = "gcc"

let s:cpo_save = &cpo
set cpo-=C

CompilerSet errorformat=
      \%*[^\"]\"%f\"%*\\D%l:\ %m,
      \\"%f\"%*\\D%l:\ %m,
      \%-G%f:%l:\ %trror:\ (Each\ undeclared\ identifier\ is\ reported\ only\ once,
      \%-G%f:%l:\ %trror:\ for\ each\ function\ it\ appears\ in.),
      \%f:%l:\ %m,
      \\"%f\"\\,\ line\ %l%*\\D%c%*[^\ ]\ %m,
      \%D%*\\a[%*\\d]:\ Entering\ directory\ `%f',
      \%X%*\\a[%*\\d]:\ Leaving\ directory\ `%f',
      \%D%*\\a:\ Entering\ directory\ `%f',
      \%X%*\\a:\ Leaving\ directory\ `%f',
      \%DMaking\ %*\\a\ in\ %f

if exists('g:compiler_gcc_ignore_unmatched_lines')
  CompilerSet errorformat+=%-G%.%#
endif

let &cpo = s:cpo_save
unlet s:cpo_save
17
ответ дан 29 November 2019 в 00:10
поделиться
:help compiler

Он устанавливает параметры для выбранный компилятор для текущего буфера.

1
ответ дан 29 November 2019 в 00:10
поделиться

Если вы редактируете файл java, вы можете: compiler javac, а затем: make% для компиляции текущего файла ...

-1
ответ дан 29 November 2019 в 00:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: