If you're asking about ergonomics overall, I'd say Vim, definitely. Though a lot in both cases can be mitigated with useful remappings (use Caps Lock as Ctrl, or as Esc! Or as both! https://github.com/alols/xcape or KeyboardRemap4Macbook). Also I find Dvorak a lot more pleasant on my fingers than good ole QWERTY.
I have at various different times felt a lot of strain hit some of my fingers, especially the pinkies. My right pinky complained first, and I realized how much it was used for.
I first switched from Dvorak to Programmer Dvorak so that my pinky wouldn't have to do curly braces and square brackets anymore, and so that both those and parens no longer required a shift press (also helping the other pinky), since Programmer Dvorak switches numbers with symbols (the latter of which I use far more as a coder.) I also got used to Ctrl-H instead of Backspace and Ctrl-M instead of Enter, wherever I could. They didn't work in the editor's command mode, so I created mappings so that they would.
The issues went away. More recently, more than a year after that, I started feeling my other pinky, the left one. I severely reduced my Tab usage and began using the Left Alt as a Left Ctrl more, so my pinky shares Ctrl usage (which was already on Caps Lock, but still..) with my thumb. Also worked.
An ergonomic keyboard would also be a fine acquisition. By the way, trouble in the "ulnar nerve which emanates from the neck" leading to "mild muscle wastage" sounds quite sci-fi to me (not disbelieving, just thought it sounded rather exotic.)
Thank you for the github link, I'm looking at it now.
"ulnar nerve which emanates from the neck" - I should have said "my left ulnar nerve is pinched or aggravated in the neck", that's more accurate.
EDIT:
I have pondered this before, using speech to text software, the muscles in your face and jaw have relatively good stamina. But it might be a bit of a tongue twister trying to 'speak' C. From my experience most programming languages are like Latin, easier to read than listen to.
Have you considered getting a set of keyboard pedals, so that modal keys -- ctrl, alt, esc, etc, can be mapped there, leaving your hands open? Also, have you talked to your doctor about exercises -- using resistive elastic bands, etc, to help restrengthen your muscles?
If you get trouble using a mouse, Emacs/Vi are better than IDEs. If you have general troubles with keyboards, IDEs are better.
Emacs has imho superior functionality. But if your neck gives you problem with the "chording" you use in Emacs (lots of cases with multiple keys pressed down at once), then Vi's modes would be helpful. [Edit: goldfeld's comments re keyboards are spot on. I have some early neck troubles, I might have to go that way too. The doctors tell me it is common in our profession, we sit still too many hours.]
Anyway, Emacs is really optimized for editing, not for learning to edit. I still recommend the trip.
An anecdote about the last paragraph:
I read online that Org Mode was the best thing since sliced bread. So I sat down and spent lots of hours to learn it. Afterwards, I thought -- "wtf did I just do?! I could get > 50% of that functionality from a web/iPad app I would learn in ten minutes?! Was that really worth the time?" Then I realised that I can write/edit Org modes lists almost as good as todo lists on paper; it was so far down in the brain stem it took no attention from what I was writing.
>if your neck gives you problem with the "chording" you use in Emacs (lots of cases with multiple keys pressed down at once), then Vi's modes would be helpful.
If the goal is to eliminate the need to hold down a key while pressing another key, turning on "sticky keys" would a lot easier than adapting to a different text editor.
"Sticky keys" is available as an option (usually accessed via Settings > Accessibility) in OS X, Gnome 2, the Linux console, Windows and probably other environments (though ISTR some bugginess in how it worked in Windows the one time I test-drove it in Windows).
Source: I have been using sticky keys with Emacs (on OS X, Gnome 2 and the Linux console) for the last 15 years or so.