Odpowiedzi:
Jeśli z jakiegoś powodu nie lubisz plików makefile, możesz wywołać dowolne polecenie za pomocą:!
Na przykład możesz użyć „:! Javac * .java && java Foo”, aby skompilować i uruchomić prosty program Java. Możesz także w ten sposób wywoływać inne systemy kompilacji (scons, cmake, ...).
Wypróbuj wtyczkę Quickrun dla Vima. Strona zawiera link do github, która jest najnowszą wersją i której używam.
Zaletą korzystania z tej wtyczki w przeciwieństwie do robienia :!
, dane wyjściowe polecenia zostaną zebrane i wyświetlone w podzielonym oknie.
Ponadto domyślnie wtyczka zawiesi instancję vima, gdy poprosisz ją o wykonanie polecenia, ale można ją skonfigurować tak, aby uruchamiała polecenie asynchronicznie, co właśnie robię. Przeczytaj dokumentację, aby uzyskać więcej informacji.
Używam vima, który ma skompilowany interpreter Pythona.
Źródło pliku Python, który ma tę funkcję:
def pyterm(filename="", interactive=1):
cmd = "%s %s %s " % (PYTHON, "-i" if interactive else "", filename)
if "DISPLAY" in os.environ:
return run_config(os.environ.get("XTERM"), cmd)
else:
return os.system(cmd)
I zamapuj go na skrót klawiaturowy:
nmap ;ru :update<CR>:python pyterm(vim.current.buffer.name, 0)<CR>
nmap ;ri :update<CR>:python pyterm(vim.current.buffer.name, 1)<CR>
Wcześniej ustawiłem niektóre zmienne środowiskowe, aby określić dokładny terminal do uruchomienia, jeśli używasz gvim, lub w tym samym terminalu, jeśli nie w X.
Następnie zwykle po prostu wpisuję „; ri” w buforze Pythona, aby go uruchomić (zwykle w celu przetestowania).
Vima można użyć do kompilacji za pomocą gnu make na bieżącym pliku - nawet jeśli nie ma Makefile dla tego pliku (więcej szczegółów tutaj ):
:make %:r
W ten sposób vim zapewnia dostęp do informacji o błędach szybkiej naprawy z listy kompilatora ( :help quickfix
) - :cn
Następny błąd, :cp
Poprzedni błąd, :cw
Błędy listy nowego okna.
Jeśli nie masz make gnu, możesz ustawić zmienną makeprg (zmień na g ++, jeśli kompilujesz C ++):
:se makeprg=gcc\ -o\ %<\ %
a następnie użyj polecenia vim make, aby skompilować bieżący plik i uzyskać listę szybkich błędów w vimie:
:make
EDYCJA: Jeśli chcesz uruchomić skompilowany plik wykonywalny z poziomu vima, możesz to zrobić („!” Wykonuje, „%: r” to nazwa pliku bez sufiksu):
:!./%:r
!gcc file.c && ./a.out
Spowoduje to skompilowanie pliku C, a także uruchomienie pliku wykonywalnego z pytaniem o dane wejściowe w oknie vim.
.vimrc
, Command + Shift + R
map <D-R> :exe '!gcc %:p' <bar> exe '!'.getcwd().'/a.out'<cr>
Odnośnie konkretnego przypadku kompilacji kodu źródłowego.
A jeśli masz coś, co może skompilować Pythona, ustaw makeprg
odpowiednio.
:!gcc % && ./a.out