I know on the older spectrum of the audience here, but that is an effective workflow for me. But, as a nearly 40 yr old, the command-line is very natural to me. I actually get irritated when I have reach for a mouse to complete an action.
Maybe I'm too young (28), but how I read your and the parent's comment is "My workflow has been working fine, why improve it?" which sounds weird to me. There's always room for improvement.
"Give me 15 minutes and I'll change your opinion on GDB" was one of the most life changing videos I've watched. It's on youtube or text version here: https://undo.io/resources/cppcon-2015-greg-law-give-me-15-mi...
https://github.com/ilyachur/cmake4vim
https://github.com/vhdirk/vim-cmake
It would be fairly quick to put something in your vimrc to pop open a small split on the side, run a build command, and show an output. You could also probably pop open a terminal (new vim has the :term command) and maybe script that? If not cmake, it shouldn't be too difficult to replace cmake with something else. I've always found I can get better results from vim that more exactly what I want, but I've got to kind of want it and be willing to write some script to do it. The results are better, but there's more up-front investment.
I have seen a few gdb plugins but at least my experience is that they are extremely wanting.
Do people just not use debuggers around here?
[1] https://www.gnu.org/software/emacs/manual/html_node/emacs/GD...
Frankly a lot of times I know where I need to investigate my in my code. But it is annoying to switch to vim, find the file and line number, go back to gdb then do `b my/file/structure/is/long:1825`. That gets hectic in large projects.
edit: My current setup I used vim+zsh+tmux. So I don't mind having gdb in a new pane that isn't a vim pane, but I just want colors and some of the basic features. I don't need everything that the IDEs do, just the basics.
Regarding vim, have you tried the termdebug plugin that ships with vim?
:help termdebug-startingMeta-Control-j
Basically hold down the 'Alt' and 'Control' keys and then press 'j'.
If you don't want to have to toggle it every time you launch gdb, then you can create a ~/.inputrc file with the following contents:
$if gdb
set editing-mode vi
$endif
If you want vi bindings in every program that uses GNU Readline (Bash, etc.), then you can leave off the $if/$endif part.For colors - GDB 8.3 added source code syntax highlighting, but it was just released this year and may not be the version on your Linux distribution.
I haven't used it, but it might meet your needs.