I been using nvim
and tmux
as a main developer workspace for more than
2 years now.
This setup is not for everyone, but works for me.
I work on different projects for different clients. All of them are some sort of web application. Using DDEV as base.
Below you can see what it looks like:
Circle 1 indicates my tmux tabs. I have one for the editor, one for the ddev
ssh
terminal and one for the host terminal.
Circle 2 indicates the current project workspace I’m working on.
Circle 3 is the nvim
status bar with information about the current file opened.
Most of the tmux setup is based on this conference. Around minute 40 you will
find how to automate the creation of tabs and splits on tmux
.
If you are interested on learning vim I think a good place to start is the playlist of the Primeagean.
Using nvim with plugins like fzf make the user experience quite good.
I like the consistency of look and feel across all the tabs. I can run five or six projects at the same time and switch bettwen tmux sessions without need to think where they are. One terminal window includes all the info I need.
I have used Sublime Text and Visual Studio Code for several years. Vim does have multi-cursor capabilities, so no loss there.
Once you learn how to use vim macros, you can manipulate text even faster than with Visual Studio Code.
I only use VSCode when I need to inspect big CSS files, where scrolling with the mouse makes more sense. For all the rest of tasks nvim have been great.