Я предполагаю, что ваша версия Vim windows версия, а не версия cygwin.
Сначала вам нужно установить компилятор и убедиться, что он находится в вашей переменной PATH.
Также прочитайте документация об окне быстрого исправления, поскольку это интегрированный vim способ компиляции. :!make
или :!g++ ...
- это не путь к go.
MSV C
Я не думаю, что это ваш компилятор, как я ожидаю, что у вас будет использовал Visual Studio в этом случае. В любом случае, IIR C, есть плагин компилятора msdev
, который вы можете загрузить с помощью :compiler msdev
, тогда вы сможете запустить :make
.
Не стесняйтесь завершить мой ответ, если увидите ошибки.
g ++ через cygwin
Есть большое преимущество: gnumake настроен правильно: в консоли вы можете запустить make foo
, а если у вас есть foo.cpp
или foo.c
и нет Makefile
в текущем каталоге, это скомпилирует монофильный проект. Во всех случаях Makefile
в порядке; и требуется с несколькими исходными файлами.
Большая проблема: имена путей не выражаются одинаково. Они должны быть переведены. Я предоставляю способ сделать это в моем плагине Build-Tools-Wrapper. Просто выполните :BTW add cygwin
.
Затем из vim снова введите :make %<
. Это будет преобразовано в :make foo
(при условии, что вы редактируете foo.cpp
), что означает make foo
оболочку, что означает $CXX $CPPFLAGS $CXXFLAGS $LDFLAGS foo.cpp -o foo $LDLIBS
(или что-то подобное).
Примечание: это означает параметры можно настроить с помощью: :let $CXXFLAGS = '-std=c++17 -Wall -Wextra'
Кстати, если у вас есть мой плагин build-tools-wrapper, вы можете выполнить напрямую :Make
вместо :make %<
или просто <F5>
напрямую, IIR C.
g ++ - mingw
Хорошая новость: не нужно переводить имена путей
Плохая новость, gnumake настроен неправильно. Это означает, что в консоли make foo
не будет работать. И, следовательно, это не будет работать с Vim.
На этот раз вам либо понадобится Makefile
, либо вам нужно будет настроить 'makeprg'
. Например, :let &makeprg = 'g++ -Wall -Wextra -std=c++17 -o %< %'
, а затем просто набрать :make
.