I use VIM and ALE for C programming on desktop and on AVR embedded.
Desktop programming works because ALE picks up the system compiler automatically, but it does not