I just bought a new macbook and I want to start my dev environment fresh. [I've been using the same sorta broken setup for about 5 years now]
Currently, I use vim, in a screen session, in a terminal. Each project has it's own terminal that is maximized.
This means, I have one command to switch projects, and another command to switch screen windows within their own project, then ofcourse I have vim commands to switch between file splits. I also use nerd-tree, because it helps me to keep a complete picture of my project, by always seeing the folder structure.
As a software developer, I constantly run a lot of CLI stuff, and also I tend to have running CLI servers and other persistent CLI services.
There are several problems to my setup. The biggest one is that if I restart, I need to shutdown all of the screen windows, otherwise mac tells me screen is stopping the restart. Further, this means, that i need to setup everything again after the restart. Normally with mac, all your windows can be re-opened, but it isn't smart enough to know what screen sessions you had open.
Another issue I have is that scrolling in screen is all messed up... it just doesn't really scroll. For that reason I usually have terminal tabs open that run persistent scripts, like web servers, because i can scroll with a normal terminal window.
So some discrete goals:
- never use the mouse [preferably with sequence commands, rather than chords, as vim does]
- be able to restart and have everything setup again
- I need to be able to configure vim a little at least, considering i shift hjkl to jkl;
- hierarchical setup, so each project has it's own "container" whatever that entails.
I don't mind using a GUI, if it gives access to a CLI.
Perhaps macvim could be configured in a usable way, or vscode. Perhaps there are better terminals or terminal utilities that can easily be restored, that aren't screen.