Seite 1 von 1
[C] VIM Makro -> kompilieren und ausführen
Verfasst: Mittwoch 23. Juni 2010, 21:23
von jonas
Hi Leute,
Ich hätte gerne ein Makro für vim um .c-Dateien mit gcc zu kompilieren und anschließend auszuführen.
Das Makro hätte ich gerne auf F4, daraus folgt:
Allerdings möchte ich nicht, dass das Programm a.out heißt sondern genauso wie die .c-Datei nur ohne Endung.
Wie stelle ich das an?
Freundliche Grüße
Jonas

Re: [C] VIM Makro -> kompilieren und ausführen
Verfasst: Mittwoch 23. Juni 2010, 21:28
von cofi
Ich bin ein wenig eingerostet, da ich zu Emacs gewechselt bin, aber
sollte funktionieren.
(Das ist btw nur ein Mapping, kein Macro)
Re: [C] VIM Makro -> kompilieren und ausführen
Verfasst: Donnerstag 24. Juni 2010, 00:31
von jonas
Hi cofi,
danke für die schnelle Antwort

Aber es funktioniert leider nicht
Code: Alles auswählen
/bin/bash: -c: Zeile 0: Syntaxfehler beim unerwarteten Wort `('
/bin/bash: -c: Zeile 0: `gcc -o expand("re_first.c") "/home/jonas/scripts/Language C/re_first.c"'
Freundliche Grüße
Jonas
Re: [C] VIM Makro -> kompilieren und ausführen
Verfasst: Donnerstag 24. Juni 2010, 10:49
von cofi
Das hier ist besser:
Und gut, dass der andre Befehl fehlerhaft war, denn er haette den Sourcecode ueberschrieben.
"%:t" ist der Dateiname ohne Pfad, "%:t:r" ist der Dateiname ohne Pfad und Dateiendung.
Der Fehler war natuerlich, dass Vim `expand` selbst aufruft und es nicht erst in der Zeile interpretiert
http://vimdoc.sourceforge.net/htmldoc/e ... pand%28%29
Re: [C] VIM Makro -> kompilieren und ausführen
Verfasst: Freitag 25. Juni 2010, 16:36
von jonas
Vielen Dank nochmal cofi

Konnte mir dank dir ein paar nützliche Mappings machen:
Code: Alles auswählen
map <f3> :!gcc -o "%:r" "%"<CR>
map <f4> :!chmod 740 "%:r"<CR>
autocmd FileType python map <F5> :w<CR>:!python "%"<CR>
autocmd FileType c map <F5> :w<CR>:!"%:r"<CR>
Liebe Grüße,
Jonas
