Something I really miss when working with non-Lisp languages is the ability to easily manipulate portions of code programatically.
Vim has, historically, provided text objects as a way to address that need. They're quite useful, but lack awareness of language-specific constructs—those would require a languag-aware parser.
I have recently learned that nvim-treesitter, being particularly well positioned to solve that problem (since it keeps the AST representation), provides some of that functionality natively:
require'nvim-treesitter.configs'.setup {
incremental_selection = {
enable = true,