Есть ли способ увидеть вывод предыдущего ":! g ++%" без повторного запуска? - PullRequest
5 голосов
/ 08 марта 2012

При кодировании мне нравится проверять код, запустив :! g++ %.Я сопоставляю команду с <F5>.иногда компиляция занимает некоторое время, и я хочу видеть ошибки, не тратя время на перекомпиляцию.Кроме того, иногда я хочу сравнить новый вывод с предыдущим.

Есть ли способ увидеть предыдущий вывод :! ...?

Ответы [ 4 ]

3 голосов
/ 08 марта 2012

Если вы настроили g++ с makeprg, вы можете использовать :copen, чтобы открыть последний список ошибок из команды :make.

set makeprg=g++\ %

Затем для компиляции используйте

:make

Когда компиляция завершится, любые ошибки будут перечислены в окне быстрого исправления, которое можно (при условии, что errorformat настроен правильно) использовать для перехода к строкам, в которых происходят ошибки. Это обычно работает из коробки для C / C ++.

Если вы закроете окно быстрого исправления, получите последний список ошибок с помощью

:copen

Просмотрите :help quickfix и :help makeprg подробности о том, как это работает.

1 голос
/ 08 марта 2012

Майкл дал вам правильный ответ: :make - это путь.Старый :!compilation-command должен быть забыт.Ви, ну ... история.

Теперь уточним: вам почти никогда не придется настраивать &makeprg.Значение по умолчанию - это то, которое вы хотите использовать, если:

  • вы используете что-то другое для компиляции (ant, ...)
  • , для которого вы хотите скомпилировать монофайлпрограмма, и вы не хотите писать Makefile, и вы находитесь под Mingw, чья установка gnumake s * cks (все другие установки gnumake позволяют преобразовывать foo.c / cpp в foo (.exe) без необходимости писать какие-либоодин Makefile)
  • вы хотите поиграть с каталогом компиляции или с вещами, которые нельзя вставить через $ CXXFLAGS, $ LDFLAGS, $ CFLAGS и т. д.
1 голос
/ 08 марта 2012

:sh запускает вам оболочку в Vim. Если вы используете Vim в терминале, это переключается обратно на так называемый «основной буфер», что означает, что вы видите историю с терминала до того, как вы запустили Vim, а также любую из команд :!, которые вы выполняли в Vim. Вы можете вернуться к сеансу Vim с помощью Ctrl - d .

1 голос
/ 08 марта 2012

Если вы используете Vim из терминала, просто приостановите vim с помощью Ctrl + z .

Это вернет вас к вашему терминалу. Вы должны увидеть команды, которые вы только что выполнили через :!. Чтобы вернуться к vim, наберите fg. Примечание: это может отличаться в зависимости от вашей оболочки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...