For the past couple of weeks I have been slowly setting up my Vim and tmux config files to just the way I prefer, creating the perfect workflow for working on C/C++ and Rust projects that increases my productivity by not only not having to constantly switch between the keyboard and the mouse/touchpad for every little task/navigation but also to just touch type my way to glory :). Especially since with C and Rust not having a single canonical IDE and inherently requiring to interact with the terminal for compiling and debugging, Vim coupled with a language server (I’m using cquery for C/C++, RLS for Rust) is the perfect IDE for these languages.
Some of the vim plugins that you definitely need for C++ but are hard to find are vim-cpp-enhanced-highlight and tagbar with ofcourse a decent language server like cquery. You can find my complete .vim config file here.
Vim and tmux work perfectly together and with the tmuxline.vim plugin even more seamlessly. One thing that does trip you up while setting up both vim/nvim and tmux is enabling true color support, this blog helped me sort that out rather quickly.
That’s what my development environment looks like now.