Hacker News new | ask | show | jobs
by wadim 871 days ago
How do you handle multiple projects at the same time, with a tiling window manager? The nice thing about the terminal is the possibility of having layouts, tabs and so on. Or using tmux/zellij with a terminal that doesn't support these more advanced features.
4 comments

As a data point, I'd like to chime in here. I have been a 15 year user of tmux (and screen before that) and never thought I'd change my development habits. Over the holidays I decided I would do one of those once-every-five-years upgrades to my vim setup as I had accrued dozens of vendored plugins in normal vim and wanted to see what the big deal with neovim was.

I bit the bullet and evaluated some of the "distributions" (AstroNvim and kickstarter) and played around with all the new lua plugins that I had never thought I needed (why use telescope when FZF-vim worked so well?).

Anyways, after a month of tweaking and absorbing, I found myself running Neovide only, and doing something I never thought I'd see, running tmux from within neovim/neovide. I think this only works (for me) because of session management (there are half a dozen plugins for handling quickly changing 'workspaces') and because the built-in terminal (with a very useful plugin called toggleterm: https://github.com/akinsho/toggleterm.nvim) works so well.

I have not stopped using tmux and layouts, and it sits in another fullscreen iterm2 workspace, but I find that I now spend 90% of my time using a fullscreen neovide and summoning/toggling tmux momentarily for running commands.

Of course, the caveat here is that my preferred mode of operation is being fullscreen as often as possible. I think if your preferred mode of operation is to always see splits then running neovim from the terminal within tmux is still the way to go.

As for why I like neovide? I find the animations, when tweaked to be less 'cool' are extremely useful to see where the cursor jumps to. I am also a huge fan of the fact that I can finally use 'linespace' to put some space between my lines of code -- it is an aesthetic I didn't realize I wanted.

> Of course, the caveat here is that my preferred mode of operation is being fullscreen as often as possible. I think if your preferred mode of operation is to always see splits then running neovim from the terminal within tmux is still the way to go.

Oh interesting, it sounds like it can't do permanent splits? Very odd to me.

I just open multiple Neovide instances. In each instance I usually have the screen split in the middle (two buffers at the same time), with the one on the right often replaced with the built-in terminal emulator.
Isn't that just the same as any other program? If you group your projects into workspaces/tags/virtual desktops.

If your workflow is already entirely terminal-oriented with something like Tmux, then yeah, this won't really fit into your workflow.

I don't get the point of tmux when you're running locally. We have a desktop environment whose entire point to to manage several instances on your screen already. Isn't it better than using a multiplexer?
I use a quake style terminal. Hit f12 and the terminal appears no matter what desktop is focused.

If I didn't use that I could definitely see just using my tiling window manager to manage splits.

But as it stands I want all my terminals to appear and reappear with one key combo.