Have you read the various stuff in :help
? :help
to get a general table of contents, :help usr_toc
to access the table of contents of the User Manual -- chapters 20 through 32 of the user manual are on advanced editing topics, as is everything under the "Advanced Editing" heading in the main TOC. Chapters 40-44 of the manual discuss programming vim.