Re: Remote development with neovim, tmux and SSH from macOS?
Date: Wed, 28 Feb 2024 17:29:42 UTC
>> I've just set up a FreeBSD server and was curious about the best practices for when it comes to developing on FreeBSD? I have a Mac Studio but I'm not used to neovim or tmux at all and I get the feeling that learning them is going to take some time. >> What do you use for developing on FreeBSD servers? Unfortunately I can't install FreeBSD on my machine (well I can but it would be in VMware Fusion Pro). I don't develop on FreeBSD remotely. I don't see why you couldn't. FreeBSD is my daily driver. I write code in the `helix` text editor running inside `tmux`, itself inside the `alaccrity` terminal emulator (which you wouldn't have if developing remotely). I just use helix because it gives me a 90% vim-like experience with far less configuration out of the box. Like `neovim` it has built in LSP support and will use installed LSP servers e.g. rust-analyzer, clangd, gopls, taplo, etc. I've run VS code in the past, but mostly it's `helix` or occasionally `vim` for me these days. I've used `neovim` for a while but never really liked it as much. I found it was a lot more fragile - a lot of move fast and break things going on. On the rare occasion I need something like Docker, I'll boot a linux install running in `virtualbox`. For commercial solutions there's been a few Jetbrains products that are supported on FreeBSD. I ran `clion` for a bit and `pycharm` (Perhaps not remotely though, unless you want to get in deep with X11 forwarding and debugging any issues that arise, I don't know.) I also have a dedicated Windows box I can remotely boot and `rdesktop` into when I need it. I once tried setting this up to share the same physical CPU with virtualization running two operating systems at once and while it did work, it was a rough sojourn! Not worth the effort. Probably the best time investment is getting comfortable with vim motions. You can use these in `vi`, `vim`, `neovim`, `helix`, and there's even a plugin for `VS code` that supports them. They feel really clunky for a while, but save you tons of time later and are a transferable skill to other operating systems, software and domains. Best of luck!