I've been using vim for 20+ years and it's been fantastically stable software for me. I have never cared about what version I am using because I've never needed to. An exception to this is that I'm now accustomed to using `:term` which came with vim 8.0 (2016?).
I think it's silly when colleagues point out that VS Code has vim bindings. The bindings are what I know and enjoy, but they're only half the point. I like to work with the machine, in the terminal. I don't like my text editor being a browser that pings M$, and will end up doing so again, eventually, even after I have to search up(!) how to disable it.
There's a lot of value in moving slow and not breaking things. I'm glad there are maintainers willing to carry that spirit forward.
Few years ago I reported that I can't put a character in the most bottom-right corner when setting my own statusline. Bram responded that this was intentional, as some (presumably already ancient) terminal emulators had problems with this.
I can probably take the vimrc and workflow I had for Vim 6 back in ~2000 and use it in the latest Vim without any changes or problems.
And look, if VS Code or whatever works better for some people: great! Fantastic that works for you! But for me, the dedication to compatibility and not breaking existing use cases is something I've really come to appreciate, even though it's a slight annoyance at times.
Beyond personal preferences i think there's great value in having tools that are that stable around.
There are plenty of legacy systems around that needs to be maintained and if you can use an efficient and familiar tool that still works in that context that should help such use cases greatly.
I'm right there with you on using :term. I also do a lot of work on console only tty's without X or gui environments and splitting between code/text and term is very handy.
I didn't find that feature to be that handy tbh. Mostly because it necessitates me to search for the pattern manually. What I usually want in my workflow is to highlight the word under the cursor automatically. This simplifies the code reading significantly for me and I am not aware of such Vim feature baked in?
Luckily it's very easy to add one, e.g.
function! HighlightWordUnderCursor()
if getline(".")[col(".")-1] !~# '[[:punct:][:blank:]]'
exec 'match' 'Search' '/\V\<'.expand('<cword>').'\>/'
else
match none
endif
endfunction
autocmd! CursorHold,CursorHoldI * call HighlightWordUnderCursor()
Note that some Linux distros provide their own versions of vimrc that overrides the upstream default settings. Note also that newer Vim versions come with a "defaults.vim" that you can load if you want, containing arguably sensible inoffensive defaults; if you or your distro loaded that, it might contain hlsearch as well.
I think it's silly when colleagues point out that VS Code has vim bindings. The bindings are what I know and enjoy, but they're only half the point. I like to work with the machine, in the terminal. I don't like my text editor being a browser that pings M$, and will end up doing so again, eventually, even after I have to search up(!) how to disable it.
There's a lot of value in moving slow and not breaking things. I'm glad there are maintainers willing to carry that spirit forward.