I recently tried to switch from vim to Emacs with spacemacs. I enjoyed it until I discovered Emacs has no support for tabs (ui tabs, not the character ;). I went back to vim mainly due to that, but still miss magit....
If you want to try again, just install the "tabbar" package (in MELPA, and in most Linux distributions too). Like most things with Emacs if it's not built-in there's likely a package for it.
Emacs is kind of like an editor construction kit with a basic sample, and making your own Emacs variant is part of the experience IMHO. It's not to everyone taste of course (and that's ok). If not, there are Emacs distributions like spacemacs but their choices can't fit each person perfectly.
> until I discovered Emacs has no support for tabs (ui tabs, not the character ;)
It may not be built-in, but saying Emacs "has no support" for tabs when there are at least three (if not more) plugins which provide them is a stretch. Personally, I use elscreen, but forked and changed so that tabs are displayed in a reserved window instead of on the header line.
There are some lacking features in terms of GUI display, especially compared to newer editors, but other than that Emacs supports the widest array of features and sometimes even a couple competing implementations for them.
You can have many things going at the same time, and select between them using the buffer menu. I find the devotion of yet another chunk of screen real estate to the tab list rather a waste, but shrug aesthetics.
C-x C-b
shows you the list of tabs ("buffers") and lets you select from them easily. As a bonus, the title portion isn't compressed to incomprehensibility when they get numerous.
I use tabs to switch between window configurations.
Say I code in Python, with docs and shell windows on the right. Then I want to quickly take a look at git history. But, if I start magit, it will hijack the window configuration and my carefully placed/resized windows will get messy. So, I open a new tab and start magit there. Now, I can switch between the two tabs - ie. window/buffer layouts - with a single key.
The fact that I mention saving the layout of windows should hint that I know you can do this in vanilla Emacs by saving and restoring window configurations, but it's much less hassle with tabs. Also, you can hide tab bar (as well as menu bar and button bar) when you don't need it, and it's actually quite handy when you do need it.
To each their own of course, just saying there are good uses for tabs in Emacs, unless you want to delegate this to your WM and launch one frame per window config.
> To each their own of course, just saying there are good uses for tabs in Emacs, unless you want to delegate this to your WM
You mention window configurations, and you say " it's much less hassle with tabs." You can assign a single key to switch between window configurations too and then it's practically the same, isn't it?
Yeah, not "practically", but simply "the same" - that's exactly how half of my tabs (elscreen.el) is implemented (the other half being creating, displaying and updating the "tabbar"). In other words, if you use winner mode, or have a couple of custom wrappers around window layouts and use those, you're practically already using tabs, just without a tabbar! ;)
Not frames but window configurations (the things you can save with C-x r w and restore with C-x r j), although one can also save the frame configuration too.
My solution is eyebrowse-mode, which lets you switch quickly between window setups...I never need to recreate an exact layout in the long term, so it’s more than enough to save and switch on the fly