Hacker News new | past | comments | ask | show | jobs | submit login

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.




I don't know about Macbooks, but if the company-provided Laptop runs Windows, tmux + editor is nowadays very easy using WSL2.


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.


Native copy/paste integration is pretty out-of-the-box these days on WSL as well, FWIW.


True. It's kind of funny that Microsoft did a better job implementing linux than they did implementing windows.


Windows Terminal has support for copy and paste that is integrated into the OS natively. CTRL+C/V works perfectly.


Agreed, though i prefer in-built multiplexing like in Wezterm to tmux on macos for performance reasons.


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


tmux defaults don't play nicely with the Apple Terminal. Resizing split panes for example collides with switching workspaces in macOS finder.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: