Ответ 1
Вам нужно создать make файл, который обрабатывает процесс сборки.
Затем из vim просто запустите :make
, он будет запускать сборку и всплывать все ошибки в quickfix
, где вы можете перемещаться и переключаться на места ошибок.
Я хочу настроить vim как С++ IDE, чтобы я мог работать с ним.
Я использую эти плагины для vim:
Но мне не хватает таких вещей, как "Переход к определению" и компиляция нескольких файлов в один исполняемый файл, представление проекта...
Я использую
nmap <F8> :w % <bar> :!g++ -W -Wall -Wextra -pedantic -std=c++11 % -o %:t:r<CR> <bar> :!./%:t:r<CR>
для компиляции текущего файла, но он не будет работать, если есть несколько файлов, которые создают один исполняемый файл.
Я знаю, что могу просто использовать eclipse, netbeans, code:: blocks и т.д., но мне действительно нравится vim... Если такая вещь, как vim ide, невозможна, мне приходится изучать систему сборки GNU или какой-либо другой метод
Любые советы приветствуются.
Вам нужно создать make файл, который обрабатывает процесс сборки.
Затем из vim просто запустите :make
, он будет запускать сборку и всплывать все ошибки в quickfix
, где вы можете перемещаться и переключаться на места ошибок.
Во-первых, чтобы перейти к определениям, вы можете попробовать следующее:
Я не тестировал его, поэтому не могу сказать, работает ли он.
Теперь, чтобы создать несколько файловых проектов, вам может быть лучше узнать, как использовать make файлы и automake. Эти ссылки могут помочь вам:
Удачи.
Изменить: на этот вопрос был дан ответ: fooobar.com/questions/11971/...
"Перейти к определению" уже есть, он <C-]>
с курсором по ключевому слову или :tag foo
в командной строке.
Чтобы они работали, вам нужен файл tags
, созданный exuberant-ctags, и сообщить Vim, где его найти. См. :help tags
и :help ctags
.
Без файла tags
gd
переходит к определению ключевого слова под вашим курсором, если оно находится в том же файле. Но это не так полезно, как <C-]>
.
Для "Перейти к определению" я могу порекомендовать YouCompleteMe, который очень легко настроить с помощью vundle.
В противном случае есть ctags, но я считаю это менее полезным.
Чтобы использовать vim как IDE, я нахожу этот сообщение полезным.