IMO a Development Environment/toolchain should fulfill your personal needs. As a low level developer you aren't bound to end users or web developer constraints. You are the person which solves problems. You have the wisdom and are able to change code.
You should ask features of your working environment and find ways to make that work.
Do you need colored syntax highlighting? Some people don't want colors.
Do you want to mark pairing brackets?
Do you need debugger integration?
Text snippets, makros?
Do you want to integrate valgrind, splint, efence, cscope, automatic header lookup? Do you want to jump to definitios or declarations?
Autocomplete? Autosave? Embedded version tracking?
Fully customizable keyboard control?
I don't like to you the mouse at all, but many modern software forces you to click all the time. I use a desktop env where I can swizzle my windows on my screens around with key combinations . I don't want to arrange windows manually with the mouse.
Do you prefer a tiled window manager?
Do you want to collapse code pieces?
Are you okay with a massive memory footprint, so loading times aren't relevant? I really hate it, every time I see somebody openening Visual studio, eclipse, codeblocks I think wtf, I saw Operating systems booting faster than that kind of software. If you do not mind, let's say you open it at 7 am and close it at 10 pm, fine.
In 30 Years I tried so many.
I liked geany.
I have got color syntax highlighting in the shell, but I am not forced to use it. I use one font in every single piece of software. In the shell, the desktop-environment and __all__ programs I use Inconsolta !!1!! If I write code, I want that font, my choice. If a single piece of software can't render it, I am not interested.
Sometimes I use QTCreator, so that you can zoom the font to show other people in the office code from a decent distance, or just to lean back and watch the code (not the only reason for QTCreator). Sometimes I prefer working on 3 or more Monitors, sometimes distraction free on 1 monitor. It depends on my mood, my focus, my feelings. I try to make use of the machine.
Sometimes I just echo code to a file.
What I am trying to say. It is up to you.
The main reason why I don't use any closed source programs in my toolchain is that I don't want other people to command me how to work most efficient. Same reason true why I prefer C. It is called freedom.
Plus, I think your coding style matters. Auto-indention.
Many editors use 4 spaces. That's not enough for me. Indention should be clearly visible for me.
Do you write functions in SDL style, how Casey does it? Where the parameters are aligned in different lines? He writes if statements like that. I barely would do that, I'd rather write a script which does the reformating for me, if a project would demand that style. Or customize an Indent command line, or use the linux scripts (scripts/Lindent).
Often I hear the the argument: "That software is too old, to complicated." - I like old, it is mature. I can use features which experienced devlopers developed, I don't have to reinvent the wheel. That is real life code reuse.
-There is no flexibility without complexity.-
People want it simple. If one want it simple one should buy software, no coding, no work at all. If the software is too complex, let somebody operate it for you. Software development is work, it is engineering, some people work their whole life on solving one problem, and sometimes they might even fail. E.g. people might still improve Linux after Linus died. Did he fail, because it wasn't finished during lifetime?
What I am sick of, is seeing 20 thousand simple implementations and all of them missing features, which have been standards 30 years ago.
You would laugh how many people started a conversation on IRC with the sentence "I would like to learn coding, because I want to write my own Operating System". -
"But it looks much better, more modern." Really?
"It has a cool theme" The Look is not my job, that is what artists are for. Ofc, if I want another canvas color, that should be doable, either in the source or with a color picker in the UI or it should follow the desktop environments look.
What I don't like about emacs is the fact that it is written in Lisp.
I think I might switch to an editor written in pure C some day, or not?
So much ranting...oh my.
My advice: Look in the source code of an editor, if you feel uncomfortable in their source code, you might deny the software at some point in time. If you can't look in the source, imo, all hope is lost :D