IMO tmux + a scriptable terminal editor (Vim, Neovim, Emacs, etc) turns Unix into a very nice IDE — but it's pretty dependent on becoming deeply familiar with those two tools: a multiplexer and an editor.
I wouldn't say Unix is an IDE, really; but you can build a very nice IDE for yourself using Unix tools, as long as you have a sufficiently configurable terminal multiplexer and a sufficiently configurable terminal editor.
One pretty major difference between "Unix is an IDE" vs "you can build an IDE around Unix" is that, well, the terminal editor is actually pretty close to an IDE — you can have language server based autocomplete, refactoring, linting; UI for git; etc. So, it's not really that Unix is your IDE; your editor is. But the nice thing about running it in a multiplexer in a terminal, though, is you have instant and easy access to just about any other command-line tool just a keyboard shortcut away, and it can be organized visually wherever you like — a pane on the side, beneath, zoomed in temporarily to encompass the screen, hidden in a tab, etc.
(Sufficiently advanced terminal emulators could also fill in for tmux here.)
I think you get many of the same benefits using a tiling window manager... But well, the best ones require running Linux (or one of the OSS BSDs); the options for your company-provided Macbook are fewer and less good. Tmux + terminal editor is pretty nice as something that works in any Unix environment.
Works great on Macbooks. Some would say better since copy/paste on a mac, even to and from a terminal in tmux is much less of a mess than on WSL or Linux.
The nice thing about tmux/screen is that they're more widely available by being separate from the terminal emulator itself. I can use them on any *nix system and with one modification (I use a different prefix than default with tmux and screen, I'm too used to emacs keybindings to let them have C-b and C-a) have the same experience on all of them.
Another positive is that they survive if, for some reason, you close your terminal. I can completely kill the terminal emulator and my tmux session (or screen, but I haven't used it much in years) will still be around and can be reattached.
I've used tmux and vim/nvim on macOS and never experienced performance issues but I'm really curious about your experience, could you share more details?
I have no measurements or anything but if I open a file in neovim within tmux, I get more lag than if I open the file directly without tmux in between. I've seen people on github having similar issues
I wouldn't say Unix is an IDE, really; but you can build a very nice IDE for yourself using Unix tools, as long as you have a sufficiently configurable terminal multiplexer and a sufficiently configurable terminal editor.
One pretty major difference between "Unix is an IDE" vs "you can build an IDE around Unix" is that, well, the terminal editor is actually pretty close to an IDE — you can have language server based autocomplete, refactoring, linting; UI for git; etc. So, it's not really that Unix is your IDE; your editor is. But the nice thing about running it in a multiplexer in a terminal, though, is you have instant and easy access to just about any other command-line tool just a keyboard shortcut away, and it can be organized visually wherever you like — a pane on the side, beneath, zoomed in temporarily to encompass the screen, hidden in a tab, etc.
(Sufficiently advanced terminal emulators could also fill in for tmux here.)
I think you get many of the same benefits using a tiling window manager... But well, the best ones require running Linux (or one of the OSS BSDs); the options for your company-provided Macbook are fewer and less good. Tmux + terminal editor is pretty nice as something that works in any Unix environment.