How do I set up a non-IDE-based C development environment on Linux?
If you're not a masochist:
gcc + cmake + nano ;)
Make sure to edit your .nanorc file (you can copy an example from /etc/nanorc generally)
Okay, someone's gotta say it: Emacs, gcc, and make.
If - as a commenter suggested - you're looking for instructions on setting this up, there's probably no set up needed, as most Linux distributions I've used come with these programs already installed.
Okay my environment:
Geany or gedit, make, GCC. If I have to code on the command line I'd probably go with vi or nano over emacs, I just can't cope with emacs anymore.
I use gtkemacs, gcc, make but more often scons these days.
This question is dangerously close to inciting religious wars. Let me get it started: All configurations other than mine are inferior.
A pretty good development environment is most likely already there--no setup necessary. This is because most Linux installations are GNU/Linux. GNU provides all the pieces you need for C software development.
Use the 'which' command to make sure these programs are in your execution path
which gcc
which make
Gcc is your compiler. Make lets you define the compiling and linking steps. (It can call gcc for you.)
You are likely to have several editors installed such as vi, nano, and GNU emacs. To see if you have emacs (for instance), type
which emacs
If the which
command returns a valid path (i.e. it doesn't say which: no emacs in
...) then that means you can run the program just by typing its name:
emacs
for example.
I would recommend gcc + vim/vi + (make).
Vim/vi is almost impossible to "just pick up and use" because it will be completely foreign and you will struggle to even move the cursor or insert text, but fortunately, Vim comes with an extremely helpful tutor you can start by invoking the command vimtutor in the shell. It will get you up and running in no time!
While Vim's interface is really bizarre and esoteric at first, once you get used to it (shouldn't take very long once you finish vimtutor), you will see your productivity when editing code increase dramatically!