Я недавно нашел, что существует команда в Vim, названном компилятором. Можно назвать его с любым общим компилятором (например: компилятор gcc: компилятор php, и т.д.), но это, кажется, не имеет непосредственного эффекта.
Я искал на страницах справочника, но ничто не нашел полезным о том, что это на самом деле делает, ни делает Vim Wiki. Кто-либо знает то, что на самом деле делает та команда?
Он устанавливает параметры для этого компилятора, такие как программа, которая будет использоваться для : make
, и формат сообщений об ошибках, чтобы vim мог переходить к местам возникновения ошибок. Поищите в $ VIMRUNTIME / compiler /
различные файлы .vim, которые можно получить.
: help write-compiler-plugin
Подключаемый модуль компилятора устанавливает параметры для использования с конкретным компилятором. Пользователь может загрузите его командой
: compiler
. Основное использование - установка Параметры errorformat и makeprg.
См. Также : help errorformat
и : help makeprg
.
Вот файл компилятора GCC на моем компьютере, например:
" 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
:help compiler
Он устанавливает параметры для выбранный компилятор для текущего буфера.
Если вы редактируете файл java, вы можете: compiler javac, а затем: make% для компиляции текущего файла ...