BBEdit
I'm a big fan of BBEdit, as a Mac user, it's my text editor of choice for all but Xcode/C++ programming.
David, Jenn, and I used BBEdit on Thimbleweed Park. I even created a custom syntax coloring scheme for our proprietary language and David added some great keyword based auto expansions.
It's feature rich and has everything a coder could want. Except for one thing and it drives me crazy to the point that each time I need to do it, it puts a stain on what is by all other accounts, a perfect editing experience.
In Xcode, I can select a word (or words), right click on it and the pop-up menu shows this.
It's my bread-and-butter for searching.
I can't do this in BBEdit. The closest I can come is selecting the word, then hitting ⌘-E to Use Selected Text In Find, then ⌘-G to bring up the Search In Project window and click on Find.
This is cumbersome as it requires me to move my hands to the keyboard. (yes, I know super programmers only use the keyboard, but clearly, not all of us do).
If I could get BBEdit to add just one thing, it would be this. Then it would be perfect.
During Thimbleweed Park I wasted several afternoons trying to hack this in with macros, etc.
P.S. To head off the griping/astonishment I get whenever I post a screenshot of my text editor... yes, I enjoy programming with a light/white background. But only for C++. For other languages (in BBEdit), I use a dark/black background. As I am switching between the two all day long, I find my brain needs to strong visual distinction to differentiate the two.
I use this all the time for apps that don't allow customizing shortcuts.
And the other functions of BetterTouchTool are nice too, I can finally have a middle-click on my magic mouse, and window snapping...

There are "Keyboard Maestro" or "Automator" app for Mac. After configuration, you simply click on one icon, and it does the magic for you, in the way you instructed it.
I didn't know I was a super programmer. I just thought I was too lazy to lift my hands off the keyboard to grab the mouse while I wrote code. *shrug*
On Linux I sometimes use vim to edit config files and scripts. I know it's very powerful and extensible, but it's hard to remember all the keyboard commands so I don't use it much.