Jak uruchomić make w Vimie i otworzyć wyniki w podzielonym oknie?
Używam Vima do kodowania. Kiedy muszę skompilować bieżący plik, obecnie używam :!g++ % && ./a.out
LUB :make
.
Wyświetlone błędy / wyjście znikają po naciśnięciu enter i wrócić do pliku. Szkoda, że błędy i wyjście są wyświetlane w pionowym podziale na bok. Byłoby miło, gdyby strumienie wyjścia i błędów były w oddzielnych buforach. Jak można to zrobić?
Błędy i bufory wyjściowe powinny być aktualizowane podczas kompilacji ponownie i nie powinny tworzyć nowych buforów.
Jak to zrobić? some vim pluggin / function? albo jeden: P?
2 answers
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-07-01 15:13:32
If you want compile and run if compile successful. (i. E !g++ % && ./a.out
)
Utwórz skrypt powłoki z następującym wierszem,
g++ $1 -o /tmp/a.out && /tmp/a.out
Teraz ustaw makeprg w ten sposób.
set makeprg=compileNrun.sh\ %
Nie można ustawić całego polecenia bezpośrednio jako makeprg z powodu &&
.
Jeśli zostanie ustawione bezpośrednio w makeprg, powyższe polecenie zostanie rozszerzone do,
!g++ file.C -o /tmp/a.out && /tmp/a.out 2>&1 | tee /tmp/errorFile
Stąd błędy kompilacji nie będą przekierowywane do pliku błędu, jeśli kompilacja się nie powiodła; P ponieważ &&
ma pierwszeństwo przed |
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-07-27 18:55:52