Tools
I believe in mouse-free development wherever possible and encourage others to adopt the following tools:
- (Neo)Vim for your editor
- tmux to manage your terminal sessions
- Any split ergonomic keyboard with thumb clusters - I use the Kinesis Advantage family of keybaords.
Each of these tools have somewhat of a learning curve and will take time getting accustomed to. Once I got used to them - I couldn’t imagine working in any other way.
The thumb clusters and keywells on my keyboard encourage you to use keybaord shortcuts by reducing the risk of repetitive strain injuries. For eg. hitting the prefix key in tmux or speaking the language of vim become comfortable tasks. This also reduces the number of commands you have to remap within each of these tools.
Editing in Vim is efficient, powerful and extensible. Once you have understood the philosophy of the tool - you can extend the editor to adapt to your workflows and automate tasks.
Tmux is excellent for organizing tasks in sessions - it encourages you to adopt a always-in-the-terminal workflow, and as a result learn the tools built into your terminal better. See this for an example of how you can leverage these lightweight tools to automate workflows.